欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

nginx 部署_部署 hexo 到 nginx

发布时间:2024/9/27 编程问答 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 nginx 部署_部署 hexo 到 nginx 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

本来博客是使用 GitHub pages ,但近些日子访问贼慢,刚好手里有一台小机器,当然是要用起来(折腾就对了 )。

前置条件:

已购买 vps 和域名,按需备案。

ssh 登录远程服务器,以 CentOS 为例:

git

  • 安装
yum install git
  • 测试
git --version
  • 输出类似下面的结果则表示安装成功
git version 1.8.3.1
  • 创建 git 用户
adduser git
  • 建立裸仓
cd /home/git # 进入 git 用户目录 mkdir blog && chown -R git:git $_# 创建博客文件夹,,设置权限,作为 nginx web 目录 mkdir projects && chown -R git:git $_ && cd $_ # 创建项目目录,设置权限并进入 git init --bare hexo.git && chown -R git:git $_ # 创建博客裸仓,设置权限
  • 添加 SSH Key,通过 ssh 链接仓库
cd /home/git # 回到 git 用户目录 mkdir .ssh # 存放 ssh key
  • 在本地机器(写博客的电脑)上创建的 ssh 公钥(已有请忽略)
ssh-keygen -o -t rsa -b 4096 -C "email@example.com" # 替换邮箱
  • 复制公钥
pbcopy < ~/.ssh/id_rsa.pub
  • 在远程服务器,使用 vim 编辑文件,vim 用法请参考:
vi /home/git/.ssh/authorized_keys
  • 按 i 进入编辑模式,粘贴公钥,按 esc,输入 :wq 保存并退出。

hexo

  • 配置发布选项
    修改 _config.yml (本级 hexo 配置文件)
deploy:type: gitrepo: git@ip:/home/git/projects/hexo.git # ip 为服务器ipbranch: master
  • 自动部署(服务器)
cd /home/git/projects/hexo.git/hooks # 进入 hook 目录 mv post-update.sample post-update # 重命名 post-update vi post-update # vim 进行编辑
  • 按 i 进入编辑模式,在最后一行上面粘贴下面文字,按 esc,输入 :wq 保存并退出。
git --work-tree=/home/git/blog --git-dir=/home/git/projects/hexo.git checkout -f
  • 在本地 hexo 目录执行发布命令
hexo g -d
  • 查看服务器 blog 目录中是否有文件,如果没有请检查步骤是否错误。
  • 源代码存放
    在我们服务器上存放的是编译后的文件,源文件我建议存放在 github 私有仓库。

nginx

以 centos 为例:

  • 安装
yum install -y nginx
  • 启动
service nginx start
  • 测试
wget http://127.0.0.1

可以正常下载 index.html 文件则说明启动成功。

  • 配置
vi /etc/nginx/nginx.conf
  • 把 user nginx 修改为user root, server 按照修改两处配置:
root /home/git/blog; location / {index index.html; }
  • 重启 nginx
service nginx restart

在浏览器键入你的服务器 ip 地址或域名,即可正常访问。

https

使用 certbot 自动获取证书,参考 https://certbot.eff.org/

  • 安装 Certbot
sudo yum install certbot python2-certbot-nginx
  • 获取证书并自动配置
sudo certbot --nginx

按照提示输入即可

  • 自动续签
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

结束

至此,配置结束,开始写你的博客吧~

总结

以上是生活随笔为你收集整理的nginx 部署_部署 hexo 到 nginx的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。