前言

HEXO博客的搭建

修改初始密码

进入腾讯云,点击右上角控制台,选择轻量应用服务器(如果没有的话,就直接使用上面的搜索功能)
找到自己的服务器,点击 更多→管理,然后选择重置密码,重置初始密码

图一

(图一)

开放端口

点击 更多→管理→防火墙→添加规则,开放8888端口
为之后添加宝塔面板做准备

配置Git

如果没有特别说明,安装过程中如有出现选择,一律选择yes(y),(即输入yes(y)然后点击回车)

准备工作

点击登录(见图一)

在弹出的面板中输入以下代码,切换到root用户

1
sudo su root

安装Git

1
yum install git

配置Git

创建git账户,并修改权限

1
2
adduser git
chmod 740 /etc/sudoers

修改配置

1
vim /etc/sudoers

点击键盘“i”建进入编辑模式,然后通过方向键编辑
找到root ALL=(ALL) ALL在其下方以相同格式添加git ALL=(ALL) ALL

1
2
root    ALL=(ALL)       ALL
git ALL=(ALL) ALL

点击Esc后输入:wq,保存退出

改回git权限

1
chmod 400 /etc/sudoers

设置git密码

1
sudo passwd git

密码输入过程中不会显示,输完后直接回车即可,输入两次

切换为git用户,配置SSH

1
2
su git
mkdir ~/.ssh
1
vim ~/.ssh/authorized_keys

点击键盘“i”建进入编辑模式,然后通过方向键编辑

将本地生成的id_rsa.pub文件公钥复制到到进去,
点击Esc后输入:wq保存退出
赋予权限

1
2
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh

本地使用Git测试是否配置成功,桌面右键“Git Bash Here”

1
ssh -v git@服务器ip

服务器ip为你的服务器公网ip,详见图一中的(公)后面的一串ip地址,即为服务器的公网ip

执行过程中出现选择,一律选择yes

如果执行过程中不需要输入密码且无报错,即为配置成功

Git仓库配置

使用root用户,在var路径下创建repo作为git的仓库

1
2
sudo su root
mkdir /var/repo

赋予权限

1
2
chown -R git:git /var/repo
chmod -R 755 /var/repo

为hexo博客创建一个目录,并赋予权限

1
2
3
mkdir /var/hexo
chown -R git:git /var/hexo
chmod -R 755 /var/hexo

进入git仓库的路径,并创建git仓库

1
2
cd /var/repo
git init --bare hexo.git

创建Git钩子

1
vim /var/repo/hexo.git/hooks/post-receive

点击键盘“i”建进入编辑模式,然后通过方向键编辑,将以下代码复制进去

1
2
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f

点击Esc后输入:wq保存退出
修改权限

1
2
chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive

安装宝塔面板

1
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装过程中出现选择一律输入y(yes)

安装完成后根据给出的地址(外网ip)及账号密码,登录宝塔

如果忘记宝塔账号密码可以输入以下指令查看账号密码(需要在root用户下)

1
2
3
cd /www/server/panel && python tools.py panel testnamewd

cd /www/server/panel && python tools.py panel testpasswd

或者直接进入宝塔目录,选择操作指令

1
2
3
cd /www/server/panel

bt

进入宝塔面板后,按照提示安装Nginx

添加站点

宝塔面板点击网站,选择添加站点,输入域名,根目录设为/var/hexo,php版本选择纯静态,

最后,别忘了将服务器解析到域名

本地配置

修改博客根目录配置

1
repo: git@域名或IP:/var/repo/hexo.git

如果未配置SSH或者SSH配置失败则无法使用Git用户免密上传,需要使用Root用户上传,代码如下:

1
repo: root@域名或IP:/var/repo/hexo.git

然后三连(hexo clean && hexo g && hexo d)上传,输入域名访问即可

附加步骤

完成以上步骤后就可以通过域名访问网站了,接下来的步骤都是附加步骤

添加SSl证书

为网站设置SSL证书并强制HTTPS,开启HTTPS时需要放行443端口(宝塔默认已开启,在宝塔面板中选择安全,然后放行443端口即可,也可在服务器中放行端口)。
宝塔面板点击网站,找到刚才添加的站点,点击设置,选择SSL,可以在这里免费申请宝塔SSL证书,如果你已有证书的话,点击其它证书,将你的证书复制进去,点击保存,将右上角的强制HTTPS开启,至此完成所有步骤。

添加404界面

修改nginx.conf的server项(或者直接在宝塔面板的目标站点操作)
添加如下代码:

1
2
3
4
5
6
7
#开启error_page
error_page 500 502 503 504 404 /404.html;
# 承接上面的location
location = /404.html {
# 放错误页面的目录路径。
root /var/hexo;
}

后记

hexo d 时known_hosts报错,提示冲突

解决方法:根据报错给出的地址,找到known_hosts文件,因为我这里是第三行报错,所以就直接把known_hosts文件第三行删除即可