1.服务端准备
1.1 Nginx 环境配置
1.1.1 安装 nginx
安装成功则出现下图所示的信息。

出现的信息如下图所示

1.1.2 更改Nginx配置文件
需要将Nginx的配置文件中网站的根目录(root
)指向hexo
的部署目录,以及修改域名(server_name
)为自己已备案的域名,如果没有,则填公网Ip。

1 2 3 4
| //进入nginx安装路径 cd /ext/nginx //通过vim打开配置文件 vim nginx.cong
|

- 进入到
/etc/nginx/conf.d
文件夹下面,通过vim default.conf
命令打开文件,添加如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| server { listen 80; listen [::]:80; server_name 公网IP;
location / { root /data/hexo; index index.html index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
|

1 2 3 4
| //关闭nginx nginx -s stop //启动nginx nginx
|
1.2 Node.js安装与环境配置
1.2.1 安装node.js
1 2 3 4 5 6 7 8
| //切换目录 cd / //通过yum命令安装node.js yum install -y nodejs yum install -y npm //通过一下命令查看node与npm版本 node -v npm -v
|

1.3 Git环境配置
1.3.1 安装Git
依次执行以下命令:
1 2 3 4
| //通过yum安装git,遇到yes选yes yum install git // 查看版本号 git --version
|

1.3.2 创建git用户
依次执行以下命令
1 2 3 4 5 6 7 8 9 10
| # 创建git用户 adduser git
# 修改git用户的权限 chmod 740 /etc/sudoers
# 进入 sudo 命令文件 vim /etc/sudoers
#找到 root ALL=(ALL) ALL,在下面添加 git ALL=(ALL) ALL,如下图所示
|

继续执行以下命令
1 2 3 4 5
| # 修改文件权限 chmod 400 /etc/sudoers
# 设置 git 用户的密码 sudo passwd git
|
1.3.3 配置SHH免密登录
由于是将本地的静态文件推送到服务器的 Git 仓库中,所以要配置 ssh 免密登录服务器
1 2 3 4 5 6
| # 切换到 git 用户 su git
# 在根目录创建.ssh文件夹,存放公钥 cd ~ mkdir .ssh
|

1 2 3 4
| # 在本地生成公钥/私钥对 $ cd ~ $ cd .ssh $ ssh-keygen
|


1 2
| chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519(生成的私钥)
|

- 将本地生成的公钥(
id_ed25519.pub
)上传到服务器的/home/git/.ssh目录下

- 新建
authorized_keys
文件,并拷贝公钥的内容到该文件中,依次执行以下指令
1 2 3 4 5 6 7 8 9 10
| cd ~/.ssh cp id_ed25519.pub authorized_keys cat id_ed25519.pub >> ~/.ssh/authorized_keys
# 设置权限 chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh
# 确保 SSH 相关的文件和目录具有正确的 SELinux 安全标签 restorecon -Rv ~/.ssh
|

- 测试本地免密登录服务器,进入本地计算机的
Git Bash
,输入以下指令
1
| ssh -v git@xxx.xxx.xxx.xxx(公网IP)
|

1.3.4 配置Git仓库
- 执行一下指令,在服务器新建一个Git仓库,同时新建一个钩子文件
1 2 3 4 5 6 7
| cd ~ # 初始化仓库 git init --bare hexo.git # 初始化钩子文件 vi ~/hexo.git/hooks/post-receive # 在钩子文件中,输入以下内容,并保存退出 git --work-tree=/data/hexo --git-dir=/home/git/hexo.git checkout -f
|


1 2 3
| chmod +x ~/hexo.git/hooks/post-receive cd ~ sudo chmod -R 777 /data/hexo
|

2.部署Hexo博客到服务端Git仓库
2.1 修改Hexo项目中的配置文件
- 修改配置文件中的以下相关内容,必须修改的是
_config.yml
文件
1 2 3 4
| deploy: type: git repo: git@公网ip:/home/git/hexo.git branch: master
|

2.2 安装插件hexo-deployer-git和hexo-server
1 2 3 4 5
| # 用于将 Hexo 生成的静态文件推送到指定的 Git 仓库 npm install hexo-deployer-git --save
# 用于在本地启动一个 Hexo 服务器,方便在本地预览博客 npm install hexo-server
|

2.3 配置git全局变量
1 2 3
| # email 和 name 随便填一个也可以 git config --global user.email "xxxxxxxxxx@xx.com" git config --global user.name "xxx"
|
2.4 生成静态文件和发布博客
1 2 3 4 5 6 7 8
| # 清除之前生成的静态文件 hexo clean
# 生成静态文件 hexo generate
# 部署到 Git 仓库 hexo deploy
|
