前言

hexo的搭建

开放端口并登录服务器

  • 在云服务器管理控制台找到自己购买的实例(图1),点击进入实例详情,点击本实例安全组,点击自己的实例,分别开放22,80和8888端口(图2)。
  • 回到实例列表,界面下拉,在配置信息里找到服务器的公网ip,记下此ip,之后会用到。
  • 返回顶部,点击更多→重置实例密码(用户名一般设为root)(图3),然后点击远程连接,在服务器界面输入刚才设置的用户名和密码,确定登录。
图1 图2 图3

部署宝塔面板

安装宝塔

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

图片
安装过程出现选择,一律选择y(yes),即输入y(yes)回车
图片
安装完成后根据给出的地址和账号密码,登录宝塔
图片

进入宝塔面板后,按照提示先安装LNMP(nginx)。

图

ps:如果忘记宝塔账号密码可以输入以下指令查看账号密码(需要在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

图片

安装Git

  • 安装Git
1
yum install git

安装期间出现提示一律输入yes

查看版本,检查是否安装完成

1
git --version
  • 创建Git账户,并修改权限

    1
    2
    3
    adduser git

    chmod 740 /etc/sudoers
  • 修改配置

此步骤可直接在宝塔面板或者服务器文件管理内手动找到文件位置/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

保存退出后改回权限

1
chmod 400 /etc/sudoers
  • 设置git账户的密码(linux密码不会显示,按照提示直接输即可)
    1
    sudo passwd git

配置ssh公钥

此步骤非必要步骤,后续可通过Root用户上传

  • 创建ssh
    1
    2
    3
    4
    5
    su git

    mkdir .ssh

    vim ~/.ssh/authorized_keys

PS:如果mkdir命令创建失败,可以直接在文件管理中手动创建/home/git/.ssh/authorized_keys,然后输入

1
ls -l /home/git/.ssh

检查用户组是否为git,如果不是的话输入以下代码:

1
chown -R git:git /home/git/.ssh/
  • 将本地生成的id_rsa.pub文件中的公钥复制到authorized_keys,保存退出。
    分别给予权限
    1
    2
    3
    chmod 600 /home/git/.ssh/authorized_keys

    chmod 700 /home/git/.ssh
  • 使用Git Bush Here输入
1
ssh -v git@服务器ip

过程中如有提示一律输入yes(y)
如果不需要密码且不报错说明配置成功
最后会提示

1
Welcome to Alibaba Cloud Elastic Compute Service !

Git配置

  • 进入宝塔面板
    在www路径下新建Git文件夹(图4),将权限设为755,所有者为root。
    在宝塔SSH终端(图5)中输入代码创建Git仓库

    1
    2
    3
    cd /www/GitConfig

    git init --bare hexo.git
    图4 图5
  • 创建Git钩子
    在/www/GitConfig/hexo.git/hooks/路径下新建文件post-receive
    复制以下代码并保存,将权限设为755,所有者为root。

    1
    2
    3
    4

    #!/bin/bash
    git --work-tree=/www/wwwroot/hexo --git-dir=/www/GitConfig/hexo.git checkout -f

本地配置

修改博客根目录配置

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

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

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

将服务器解析到域名

添加站点

回到宝塔面板点击网站,选择添加站点,输入域名,根目录设为/www/wwwroot/hexo,php版本选择纯静态,点击确定(图6)。
图6

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

附加步骤

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

添加SSl证书

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

添加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 /www/wwwroot/hexo;
}
图9