# 前言
# 安装 Git
搭建 Hexo 博客的同时已经安装过了 Git,这一步略过
# 安装 Nginx
嘻嘻,本博客又有这个的详细教程,这一步略过
安装好后,可以查看 Nginx 和 Git 版本,Nginx 暂不配置
/usr/local/webserver/nginx/sbin/nginx -v | |
git --version |
# 创建 git 仓库
给权限,用于存放网站资源
mkdir /home/git/ | |
chown -R $USER:$USER /home/git/ | |
chmod -R 755 /home/git/ | |
cd /home/git/ | |
git init --bare hexoBlog.git |
在 /home/git/hexoBlog.git 下会自动生成 hooks 文件夹,新建钩子文件
cd | |
vim /home/git/hexoBlog.git/hooks/post-receive |
空文件 post-receive
中添加下面代码指定 Git 目录和源码
#!/bin/bash | |
git --work-tree=/home/hexoBlog --git-dir=/home/git/hexoBlog.git checkout -f |
保存后,修改权限
chmod +x /home/git/hexoBlog.git/hooks/post-receive |
# 测试 Nginx
测试 Nginx 服务器,走个过程
wget http://127.0.0.1 | |
rm -rf index.html |
# 配置 Nginx
配置 Nginx 托管文件目录,以后博客目录就是在这里
mkdir /home/hexoBlog/ | |
chown -R $USER:$USER /home/hexoBlog/ | |
chmod -R 755 /home/hexoBlog/ |
# 修改 Nginx 配置文件
- 一定要修改网站根目录也就是托管文件目录
/home/hexoBlog
- 一定要放行端口,全部放行
1-35565
也可以 - 一定要修改 Hexo 站点配置文件
vi /usr/local/webserver/nginx/conf/nginx.conf |
http 请求重定向到 https
rewrite ^(.*)$ https://$host$1 permanent;
server { | |
listen 80; | |
server_name domainname; | |
rewrite ^(.*)$ https://$host$1 permanent; | |
location / { | |
root /home/hexoBlog; | |
index index.html index.htm; | |
} | |
error_page 500 502 503 504 /50x.html; | |
location = /50x.html { | |
root html; | |
} | |
} |
配置 ssl 证书实现 https 访问,证书目录在 /usr/local/webserver/nginx
下
server { | |
listen 443 ssl; | |
server_name domainname; | |
ssl on; | |
ssl_certificate /usr/local/webserver/nginx/full_chain.pem; | |
ssl_certificate_key /usr/local/webserver/nginx/private.key; | |
ssl_session_cache shared:SSL:1m; | |
ssl_session_timeout 5m; | |
ssl_ciphers HIGH:!aNULL:!MD5; | |
ssl_prefer_server_ciphers on; | |
location / { | |
root /home/hexoBlog; | |
index index.html index.htm; | |
} |
检查 nginx.conf
正确性
/usr/local/webserver/nginx/sbin/nginx -t |
启动 Nginx 服务
/usr/local/webserver/nginx/sbin/nginx # 启动 Nginx | |
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx | |
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx | |
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件 |
检查是否启动
ps -ef | grep nginx |
# 修改 Hexo 站点配置文件
deploy: | |
type: git | |
repo: root@xx.xx.xx.xx:/home/git/hexoBlog | |
branch: master |
当提示你输入服务器密码的时候表示已经部署成功了
hexo clean && hexo g && hexo d |