Feb 29, 2020教程507 words in 3 min


CentOS下使用Nginx+Git部署hexo

服务器端

安装依赖组件

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install gcc perl-ExtUtils-MakeMaker package

yum install git nginx

测试Nginx

启动Nginx

service nginx start

在浏览器中输入IP测试是否能访问默认页面

创建Git仓库

创建并修改目录的所有权和用户权限

1
2
3
mkdir /home/git/
chown -R $USER:$USER /home/git/
chmod -R 755 /home/git/

创建git 仓库

1
2
cd /home/git/
git init --bare hexoBlog.git

创建一个新的 git 钩子,用于自动部署

1
vim /home/git/hexoBlog.git/hooks/post-receive

Vim 使用
i: 编辑模式
命令模式
Ctrl+C退出编辑模式
:+w 保存文件
:+q退出Vim

插入以下语句

1
2
#!/bin/bash
git --work-tree=/home/hexoBlog --git-dir=/home/git/hexoBlog.git checkout -f

修改文件权限,使得其可执行

1
chmod +x /home/git/hexoBlog.git/hooks/post-receive

配置 Nginx

创建 /home/hexoBlog 目录,用于存放博客静态资源

1
2
3
mkdir /home/hexoBlog/
chown -R $USER:$USER /home/hexoBlog/
chmod -R 755 /home/hexoBlog/

nginx -t 查看 Nginx 配置文件位置

1
2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

vim /etc/nginx/nginx.conf 编辑配置文件

http下的server节点里编辑root配置,将其中的 root 值改为 /home/hexoBlog

检查配置文件是否准确 nginx -t

注:如果这里失败,请注释掉listen 80 default_server;listen [::]80default_server;这两行,并另起一行添加listen 80;

如果配置文件中不存在server节点,请退出vim,执行以下命令:

1
vim /etc/nginx/conf.d/default.conf

在该文件中做上述修改

service nginx restart 重启 Nginx 服务

客户端配置

编辑hexo根目录下配置文件_config.yml

1
2
3
4
5
deploy:
type: git
repo:
随便起名字: root@服务器IP:/home/git/hexoBlog
branch: master

在目录下运行:

1
2
hexo clean
hexo d

部署成功后,输入公网IP即可访问你的Hexo站点

如需停止Nginx在远程ssh输入

nginx -s stop

引用参考《部署 Hexo 博客到云服务器》

  • Author:

    白桦 Birch

  • Copyright:

    Attribution-NonCommercial-NoDerivatives 4.0 International(CC BY-NC-ND 4.0)

  • Updated:

    December 14, 2020

Buy me snacks 🍩.