系统版本 |
服务使用账号 |
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脚本下载汇总链接,点击下载
跳转到百度网盘界面,找到nginx.zip,下载到服务器中。
1
| unzip nginx.zip && cd nginx && sh install.sh
|
根据提示完成安装,这里不再赘述。
新建账号
1 2 3
| #新建一个账号 useradd my_hexo #my_hexo 为你想创建的账户名可任意更改 passwd my_hexo #输入两次确认密码
|
配置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 {
server { listen 80; server_name 你的域名或IP; rewrite ^(.*)https://$server_name$1 permanent; error_page 403 500 502 503 504 404 /404.html; location = /404.html { root html; } } 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; index index.html index.htm; } error_page 403 500 502 503 504 404 /404.html; location = /404.html { root html; } }
}
|
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文件中。