Hexo部署到个人服务器
一、搭建一个Git服务端
1. 安装Git及创建用户
1 | # 安装Git |
禁止git用户登录:
修改/etc/passwd
文件,修改
1 | # 找到这句: |
2. 创建证书登录
1 | mkdir /home/git/.ssh |
注意,如果是采用的sudo
方式来创建git和相应的文件的,需要设置/home/git/.ssh/
的owner为git,否则还是每次要输入密码的。
1 | # owner改为git |
编辑/home/git/.ssh/authorized_keys
,把客户端的公钥放进去,1个公钥1行。
附:如何创建私钥:
1 | # 创建私钥,文件位于用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件 |
3. 初始化git仓库
1 | cd /home |
4. 克隆仓库
在另一台电脑上(下面称为:Client),安装git,并且运行下面的命令:
1 | git clone git@10.123.123.123:/srv/gitrepo/project.git |
5. 验证安装
1 | # 在本地Client的project目录下,创建一个文件:text.txt,内容随意,然后上传到远端: |
6. 常用Git命令
1 | git add . 添加所有文件 注意有个 . |
二、后续配置
1. 本地_config.yml配置
将_config.yml中deploy配置修改为服务器自己生成的个人仓库地址;例:
1 | deploy: |
2. 配置Git脚本
成功推送到自己的仓库后;需要利用脚本将仓库的public资源拉取到一个文件夹下,作为Nginx后面在配置的映射地址;进入配置的仓库下的Hooks文件夹;例:
1 | cd /home/blog.git/hooks |
写入以下脚本:
1 |
|
脚本内容是为了让Git仓库每次检测到push行为后,将最新的资源文件Git clone在你要访问的文件夹下。
并且需要修改文件夹的读写权限,不然是无法自动执行该脚本:
1 | sudo chown -R root:git /home/gitrepo/tmp |
3. 配置Nginx
1 | server { |
- 本文作者: GHOSTLaycoo
- 本文链接: http://example.com/2025/06/05/Hexo部署到个人服务器/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!