服务器自建git托管hexo
服务器自建git托管hexo
安装软件
更新本地的软件源列表 + 更新本地软件 + 安装Git与Nginx
1 | sudo apt update |
Git服务器搭建
创建Git用户:
- 创建一个专门的
Git用户来管理Git仓库,运行sudo adduser git命令,并按照提示设置密码和其他信息。
创建Git仓库目录:
在合适的位置(如
/var/repo/)创建Git仓库目录,并设置正确的权限。运行以下命令:1
2
3sudo mkdir /var/repo/
sudo chown -R git:git /var/repo/
sudo chmod -R 755 /var/repo/
初始化裸仓库:
在Git仓库目录下初始化一个裸仓库(即没有工作目录的仓库),用于存储
Hexo博客的静态文件。运行以下命令:1
2cd /var/repo/
git init --bare web_blog.git
创建Hexo目录:
- 博客文件目录,用于做
Nginx根目录(存放HTML文件)。运行以下命令:
1 | sudo mkdir -p /var/www/hexo |
实现自动更新博客文件目录:
如果希望在将静态文件推送到服务器时自动更新博客文件目录,可以创建一个Git钩子脚本
1 | sudo vim /var/repo/web_blog.git/hooks/post-receive |
填写以下代码:
1 |
|
赋予脚本可执行权限:
1 | sudo chmod +x /var/repo/web_blog.git/hooks/post-receive |
修改nginx配置:
1 | sudo vim /etc/nginx/sites-available/default |
修改内容详见本博客“Nginx代理多站点及配置HTTPS”章节
重启nginx:
1 | sudo service nginx restart |
本地Hexo博客搭建与配置:
详见本博客“Hexo博客搭建”章节
通过Git部署博客:
配置SSH密钥
在本地计算机上生成SSH密钥对(如果尚未生成),运行
ssh-keygen -t rsa或ssh-keygen -t rsa -f ~/.ssh/id_rsa_webs命令(二者区别是后者可自定义生成密钥的文件名,可与其它已有密钥区分开),并按照提示操作。将公钥(
id_rsa.pub或id_rsa_webs.pub文件的内容)添加到Ubuntu服务器的远程仓库1
ssh-copy-id -p 端口(一般为22) 用户名@ip地址(或域名)
修改配置文件
修改本地Hexo根目录的_config.yml文件中的推送地址路径和推送方式(一般在该文件的末尾处)
1 | deploy: |
推送
在本地Hexo根目录右键Open Git Bash here执行
1 | hexo clean && hexo g && hexo d |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 龙猫知识库!
