原文CSDN:将Hexo部署到云服务器(使用宝塔面板)

服务器环境配置

安装宝塔

宝塔面板下载,免费全能的服务器运维软件

服务器安装git

1
2
yum instll -y git
git --version

添加用户

1
adduser git

改变sudoers文件的权限为文件所有者可写

1
chmod 740 /etc/sudoers

编辑vim /etc/sudoers

在root ALL=(ALL) ALL 下方添加一行

1
git ALL=(ALL) ALL

将其权限修改为文件所有者可读

1
chmod 400 /etc/sudoers

给git用户添加ssh密钥

1
2
3
4
5
6
7
8
9
10
11
12
#在主机端打开powershell,cd到C:\Users\admin\.ssh生成密匙,如已有密匙可跳过这一步
ssh-keygen -t rsa -C "taitres.cc"
# -t 指定密钥类型,默认是 rsa ,可以省略
# -C 用于识别这个密钥的注释,可以输入任何内容
# -f 指定密钥文件存储文件名,默认id_rsa

#在服务器端
su git #切换到git用户
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys #创建authorized_keys文件
chmod 600 ~/.ssh/authorized_keys #为authorized_keys文件赋予文件所有者可读可写的权限
chmod 700 ~/.ssh #为.ssh文件夹赋予文件夹所有者可读可写可执行的权限

创建Git仓库

1
2
3
mkdir /home/git/repos    #新建目录,这是git仓库的位置
cd /home/git/repos
git init --bare bbling.git #初始化一个名叫bbling的仓库

配置钩子实现自动部署

找到 /home/git/repos/bbling.git/hooks/post-update.sample 改名post-update

1
mv post-update.sample post-update

内容改为

1
2
#!/bin/sh
git --work-tree=/www/wwwroot/bbling.cc --git-dir=/home/git/repos/bbling.git checkout -f

然后给权限

1
2
3
4
5
6
cd /home/git/repos/bbling.git/hooks/
chmod +x post-update #赋予其可执行权限
su root#切换root用户
mkdir /www/wwwroot/bbling.cc #新建站点文件夹
chown -R git:git /home/git/repos/ #仓库所有者改为git
chown -R git:git /www/wwwroot/bbling.cc/ #站点文件夹所有者改为git

测试Git仓库是否可用

在主机端,如果能将仓库拉下来,说明Git仓库搭建成功

1
git clone git@server_ip:/home/git/repos/bbling.git

本地配置和测试

修改本地Hexo博客文件夹中的_config.yml文件

1
2
3
4
deploy:
type: git
repo: git@server:/home/git/repos/bbling.git
branch: master

测试

1
hexo cl;hexo g;hexo d