Hexo 部署至服务器
本文最后更新于 2023年12月15日 09:20
上篇已经介绍了如何上自己的博客部署在 Github Pages 上 ,但是访问速度比较慢
有条件的小伙伴可以 参考此篇文档,将自己的博客部署在服务器上
一. Git安装
安装git
1
yum install git
查看git版本(验证是否安装成功)
二. Git配置
- 添加git用户
1 |
|
改写权限
1
chmod 740 /etc/sudoers
权限配置
1
vim /etc/sudoers
按
i
键进入文件的编辑模式,按方向下键找到找到root下添加以下信息1
git ALL=(ALL) ALL
按 esc 键退出编辑模式,输入
:wq
回车 保存退出改回权限
1
chmod 400 /etc/sudoers
设置git账号的密码(按提示输入密码即可,密码是不显示的)
1
sudo passwd git
这里设置密码为
111111
切换git用户
1
su git
创建 .ssh 文件夹
1
mkdir ~/.ssh
创建并编辑 authorized_keys 文件,将你本地git的SSH密钥复制粘贴进去( 按
i
键进入文件的编辑模式,将密钥粘贴进去,再按 esc 键退出编辑模式,输入 :wq 回车 保存退出)1
vim ~/.ssh/authorized_keys
不知道密钥在哪,可以参考我的上篇部署至 github pages 的文章
赋予权限
1 |
|
1 |
|
- 测试本地连接服务器
1
ssh -v git@ip地址
- 如图就证明本地连通服务器了
三. 创建git仓库
- 切换到root用户
1
su root
- 创建用于存储网站的根目录
1
mkdir /home/hexo
- 赋予权限
1
chown git:git -R /home/hexo
- 新建并初始化一个git仓库
1
2cd /home/git
git init --bare blog.git - 修改权限在
1
chown git:git -R blog.git
/home/hexo/blog.git
下,有一个自动生成的hooks
文件夹,我们在该文件夹下新建一个新的钩子文件 post-receive ,用于自动部署
1 |
|
- 按
i
键进入文件的编辑模式,添加下面两行代码,用于指定git执行目录1
2#!/bin/bash
git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f - 按 esc 键退出编辑模式,输入 :wq 回车 保存退出
- 修改文件权限,让这个钩子文件可执行
配置本地Hexo,构建至服务器
本地打开hexo根目录中_config.yml文件,进行相关配置,具体配置在文件内最底部
1
2
3
4
5
6deploy:
type: git
#git@ip地址(或域名):/仓库地址
repo: git@xxxx:/home/git/blog.git
#分支
branch: master配置如图
四. 安装配置 Nginx
1.下载并安装nginx
1 |
|
启动服务
1 |
|
配置 Nginx
使用 nginx -t
命令查看位置,一般为 /etc/nginx/nginx.conf
。
使用 vim /etc/nginx/nginx.conf
命令进行编辑,修改配置文件如下:
1 |
|
重启 Nginx 服务
1 |
|
五、部署
- 清理缓存
1
hexo clean
- 构建部署
1
hexo g -d
- 执行完命令,会提示输入服务器密码,输入完密码 回车 如下图就说明成功了
或者一条命令即可1
hexo clean && hexo g && hexo d
六. 配置完成
- 配置已完成,配合nginx访问看看有没有成功
Hexo 部署至服务器
http://example.com/posts/9b88edda/