一、前言

hexo可以部署在gitee、github、或者服务器上,各有千秋。gitee国内速度快,但是审核恶心,我感觉纯属无脑机器人关键字审核;github审核相对宽松,并且支持绑定域名,但是国内速度就较慢了;服务器的话你就得考虑服务器的费用了。

大概2022年十月份左右,当时好久没更新了便更新了一篇,但是在gitee pages审核页面的时候“审核可能包含违禁违规内容,请排查调整后再行重试”,后面我修改了,台湾为tw,疫情为yq,审核通过了。后面的几篇也都没再出现这个问题,一度我都以为审核终于不无脑了,直到最近的几篇我实在是忍不了,“《春 日光》,…太长了不好看…”这些emmm我都还能理解,但是我改了依旧审核不通过,有一篇我干脆把文字截图放上,甚至审核还不通过,又不给个提醒,自己排查,长篇幅难道要一点点找找试试?刚好手里有一台,于是终于换上服务器,用来博客网站足够。

二、过程

1、本地git生成公钥

1
ssh-keygen -t rsa -C

会在本地C:\Users\likasi\.ssh 生成一个id_rsa.pub 文件

2、服务器安装git(我用的centos)

1
yum -y install git

3、创建git用户

1
adduser git

接着找到/根目录/etc/sudoers ,将权限修改为740,并编辑sudoers文件,找到这行

1
root    ALL=(ALL)   ALL

在下面添加一行,保存退出

1
git    ALL=(ALL)    ALL

4、配置密钥

在服务器git文件夹下(通常在/根目录/home/git)新建一个文件夹命名.ssh,在 .ssh 文件夹中新建文件命名为 authorized_keys,将本地生成的id_rsa.pub内容复制到authorized_keys并保存退出,修改authorized_keys权限为600,修改.ssh权限为700,修改git权限为755

5、创建网站目录

1
mkdir /www/wwwroot/hexo

添加权限

1
chown git:git -R /www/wwwroot/hexo

6、自动化部署

1
cd /home/git

建立git仓库

1
git init --bare blog.git

修改 blog.git 权限

1
chown git:git -R blog.git

在文件 /home/git/blog.git 下,有一个自动生成的 hooks 文件夹,创建一个新的 git 钩子 post-receive,用于自动部署

1
vim blog.git/hooks/post-receive

写入以下内容,保存退出

1
git --work-tree=/www/wwwroot/hexo --git-dir=/home/git/blog.git checkout -f

修改权限

1
chmod +x /home/git/blog.git/hooks/post-receive

7、添加站点

我用的宝塔面板,直接找到网站->添加站点,根目录选择/www/wwwroot/hexo,有安全证书的话部署下。

8、同步至服务器

本地hexo目录下打开_config.yml

1
2
3
4
deploy:
type: git
repo: root@这里改为服务器公网IP:/home/git/blog.git
branch: master

然后开始同步,同步部署的时候会让你输入服务器密码

1
2
3
hexo clean
hexo g
hexo deploy

至此,我从原来的https://likasi.gitee.io

迁移到了https://blog.likasi.top

三、总结

迁移到服务器不用被gitee无脑审核恶心,但是就得出服务器费用。而且相应的网站统计啊,搜索引擎收录啊,以及一些跟这个域名相关等等的都得重新调整一下。最后本篇有什么问题,欢迎评论区交流!