前言

HEXO部署在GitHub上最大的缺点是访问慢,因此想到部署到服务器上,本文选择的方法是曲线救国的方法,将GitHub pages仓库下的文件拷贝到网站根目录下,此行的好处为无需在服务器上部署一些环境,且如果以后更换服务器,也方便移植

服务器

安装宝塔面板

购买好服务器且通过备案后(此处不在详细讲述),通过SSH安装宝塔面板,这里以centos系统为例,其他系统安装指令具体看安装宝塔面板 ,在SSH中输入以下指令:

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

安装成功后,会出现Bt-Panel:地址,以及username与password

访问宝塔面板

打开Bt-Panel后面的地址(有的可能出现内外面版地址,打开外面版地址)即可,输入用户名与密码,登录

如果无法访问,应该是8888端口没有开放,云服务器控制台开放8888端口

安装Nginx服务器

宝塔面板会出现推荐的选项,安装推荐的选项即可,共推荐四个软件,除了Nginx外其他软件均可安装

创建站点

在宝塔面板右侧的选项中,找到网站这个选项,点击此选项,添加站点,输入域名即可,其中FTP数据库都可不创建,PHP版本纯静态;

此时访问域名,会接收到站点成功创建的通知,如果无显示;那么点开站点右侧的设置,在域名管理处添加站点,一个有三个分别为:域名,加www.域名,以及服务器IP地址,端口号为80端口;此时再访问域名,如果还是无显示,则去云服务器控制台那里看看80端口是否开放,以及宝塔面板的80端口是否开放,需要两者都开放80端口,此时才可访问;

部署HEXO

网站的默认文件夹应该为/www/wwwroot/域名;打开终端,输入以下指令:

1
2
3
cd /www/wwwroot
git clone GitHub-pages仓库地址
cp -rf 仓库名称/* 域名/

首先切换到网站默认文件夹下的上级目录,然后拉取GitHub-pages仓库地址(即之前文章中公开仓库),接着将拉取的仓库文件夹内容拷贝到域名所在文件夹中。拉取的仓库文件夹名称默认为仓库名称,例如我此处的代码为:

1
cp -rf MYAN1998.github.io/* zhouenpei0523.top/

此时访问域名站点,即可成功看到界面

优化拷贝操作

但是每次都这么更新服务器端操作不方便,此处使用一个脚本,下次直接运行这个脚本即可,此时登录用户为root用户;

在服务器终端中输入以下代码:

1
2
cd /root
vim run.sh

在run.sh中放入以下代码:

1
2
3
4
cd /www/wwwroot/MYAN1998.github.io
git fetch --all && git reset --hard origin/master && git pull
cd ..
cp -rf MYAN1998.github.io/* zhouenpei0523.top/

将上述代码中我的信息替换成你的即可

保存文件后,输入以下指令给脚本添加可执行权限:

1
chmod 777 run.sh

当需要更新服务器端HEXO时,输入以下指令即可:

1
2
cd /root
./run.sh