系统版本 服务使用账号
CentOS Linux release 7.9.2009 (Core) my_hexo
部署 安装方式 安装路径 版本
Git yum安装 /usr/bin/git 1.8.3.1
Nginx 脚本自动编译安装 /usr/local/soft/nginx/ 1.20.2
Hexo git上传自动部署 /usr/local/soft/nginx/html/hexo/ 6.3.0

云服务器部署Git

CentOS 执行:

1
2
yum -y install git
git --version

Ubuntu 执行

1
2
apt -y install git
git --version

执行后返回结果带有版本号即为安装成功。

部署Nginx中间件

用于展示hexo博客网站—这里使用nginx编译安装

这里采用脚本安装,Shell脚本下载地址我放到右上角下载页面中了,也可直接点击跳转

找到shell脚本下载汇总链接,点击下载

image-20230920222215234

跳转到百度网盘界面,找到nginx.zip,下载到服务器中。

1
unzip nginx.zip && cd nginx && sh install.sh

根据提示完成安装,这里不再赘述。

新建账号

1
2
3
#新建一个账号
useradd my_hexo #my_hexo 为你想创建的账户名可任意更改
passwd my_hexo #输入两次确认密码

image-20230920114135108

配置nginx和hexo路径

1
2
3
mkdir /usr/local/soft/nginx/html/hexo/     #创建存储hexo文件的目录,后面git上传会自动上传到该目录
chown -R my_hexo:my_hexo /usr/local/soft/nginx/ #更改目录所属权限
vi /usr/local/soft/nginx/conf/nginx.conf #修改配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
user  my_hexo;    #修改启动账号
worker_processes auto; #根据内核数修改,这里改为自动

#其他全局配置


http {
#http 配置
server {
listen 80;
server_name 你的域名或IP;
rewrite ^(.*)https://$server_name$1 permanent; #这里强制跳转https,根据需要配置


error_page 403 500 502 503 504 404 /404.html;
location = /404.html {
root html;
}

}#http server

server {
listen 443 ssl;
server_name 你的域名或IP;

ssl_certificate 证书/xxx.crt;
ssl_certificate_key 证书/xxx.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root html/hexo; #配置好heox路径
index index.html index.htm;
}
error_page 403 500 502 503 504 404 /404.html;
location = /404.html {
root html;
}
}#https server


}#http
1
systemctl restart nginx  # 重启nginx使配置生效

云服务器中设置Git仓库

1
2
mkdir /opt/hexo/  && cd /opt/hexo/ && git init --bare {自定义仓库名name}.git  #创建本地库,并赋予755权限
chmod -R 755 /opt/hexo/
1
2
3
4
5
6
7
8
9

chown -R my_hexo:my_hexo /opt/hexo/ #设置这个账号为/opt/hexo/的所有者
#设置Git仓库创建一个新的钩子文件
cat <<EOF>> /opt/hexo/{自定义仓库名name}.git/hooks/post-receive
#!/bin/bash

git --work-tree=/usr/local/soft/nginx/html/hexo/ --git-dir=/opt/hexo/{自定义仓库名name}.git checkout -f
EOF
chmod +x /opt/hexo/{自定义仓库名name}.git/hooks/post-receive

配置完成后配置hexo上传路径

1
2
3
4
deploy:
type: git
repo: ssh://my_hexo@服务器IP:端口/opt/hexo/{自定义仓库名name}.git
branch: master

现在hexo生成页面上传就可以了,但是这样还是需要输入密码可以配置免密,帮电脑生成的公钥复制到服务器my_hexo的.ssh/authorized_keys文件中。