Hexo部署到服务器
Hexo 部署到服务器
安装一些工具
1 | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel |
安装 Git
先看看有没有装
1
git --verison
没有安装
安装过了
没有安装的执行
1
yum install -y git
创建上传&管理代码的用户
创建一个用户用来上传代码(用户名什么都行,这里以 macadmin 为例)
1
2useradd macadmin
passwd macadmin

给网站管理用户添加权限
修改权限
1
chmod 740 /etc/sudoers
修改文件
1
vim /etc/sudoers
大约100行后添加
修改保存后修改权限
1
chmod 600 /etc/sudoers
创建存放 Hexo 工程的文件夹并赋予权限
创建存放 Hexo 工程的文件夹(根据自己需要创建)
1
mkdir /home/hexo
赋予权限
1
chown macadmin:macadmin -R /home/hexo
安装 Nginx
安装 Nginx
1
yum install -y nginx
启动一下看看有没有安装成功
1
systemctl start nginx.service
使用 IP 访问服务器出现下面这张图就是安装成功了
配置 Nginx
修改配置文件
1
vim /etc/nginx/nginx.conf
要是使用 SSL,用这个替换原来的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22server{
listen 80;
server_name ceshi123.top;
rewrite ^(.*)$ https://$host$1 permanent; # http转https
}
server{
listen 443 ssl;
root /home/hexo;
server_name ceshi123.top; # 请替换为你的域名
client_max_body_size 40m; # 请求体上限
# ssl的一些配置
ssl_certificate "/home/ssl/hexo_ssl/ceshi123.top.crt"; # 请务必替换成你的ssl证书路径
ssl_certificate_key "/home/ssl/hexo_ssl/ceshi123.top.key"; # 请务必替换成你的ssl证书路径
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}最后保存退出并重启 Nginx
1
systemctl reload nginx.service
创建 Git 仓库
1 | su root |
编辑 post-receive
跳转到 blog.git 下的 hooks 文件夹
1
cd /home/hexo/blog.git/hooks
编辑
1
vim post-receive
把这个放进去
1
2!/bin/sh
git --work-tree=/home/hexo --git-dir=/home/hexo/blog.git checkout -f修改权限
1
chmod +x post-receive
开放 80 端口(配置 SSL 证书的需要开放443端口)
1
2
3systemctl start firewalld.service
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
修改 Hexo(_config.yml)
推送
1 | hexo clean && hexo g && hexo -d |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Flappy Fish!