Hexo部署到云服务器

为了解决Hexo部署到 GitHub 访问速度慢的问题,我们可以将Hexo部署到云服务器上。

这篇博客使用宝塔面板将Hexo部署到阿里云服务器上。

前提

  1. 已经搭建好 hexo 的相关环境,并将 hexo 部署到了 GitHub 上
  2. 已经购买好云服务器
  3. 已经购买并备案好域名 (可选项,没有也可以用 ip 地址访问 hexo)

安装宝塔面板

宝塔面板可以可视化地操作远端服务器(这样就不用自己手动装 nginx 了)

进入宝塔面板的下载页面 宝塔面板下载 ,找到 Linux 面板,点击安装脚本 (如果买的服务器是 Windows 的就点 Windows 的)

根据自己服务器的类型,复制对应的代码

进入阿里云的控制台,选择自己的云服务器,点击登录,进入终端。

粘贴刚才复制的代码,回车,一路确认。

在浏览器中访问外网面板地址,使用宝塔提供的用户名和密码登录。

进入面板后,点击一键安装 LNMP。就能直接将 Nginx,MySQL 等网站所需内容一键安装好。

安装并配置 Git 仓库

在远程服务器上配置好 Git 仓库后,才能将本地的 hexo push 到远端。

创建博客目录

1
2
3
4
5
6
7
cd /home

mkdir www

cd www

mkdir hexo

我么们在本地上传的blog文件都会存放在这个文件夹中

回到home目录修改权限

1
2
3
4
5
cd /home

chmod -R 777 ./www

chmod -R 777 ./www/hexo

安装Git和node

1
2
3
4
5
6
//安装Git
yum install git

// 安装Node
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

新建用户

新建一个git用户并修改权限

1
2
3
4
5
adduser git

chmod 740 /etc/sudoers

vim /etc/sudoers

修改配置文件,如下:

1
2
3
4
5
6
## Allow root to run any commands anywhere
root ALL=(ALL) ALL

添加以下内容

git ALL=(ALL) ALL

再将权限修改过来

1
chmod 400 /etc/sudoers

配置免密登录

在本机桌面,右键GIt Bash Here打开终端,执行如下命令(三次回车)

1
ssh-keygen -t rsa

在C:\Users\用户名.ssh中找到id_rsa.pub

回到服务器端执行如下操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo passwd git  //设置git密码

su git //切换到git用户

cd ~ //切换目录

mkdir .ssh //新建.ssh文件夹

cd .ssh //进入文件夹

vim ~/.ssh/authorized_keys
# 然后将win10中生成的id_rsa.pub文件中的公钥复制到authorized_keys

chmod 600 ~/.ssh/authorized_keys

chmod 700 ~/.ssh

在本地Git终端测试连接云服务器

1
ssh -v git@你的公网IP

如果不需要输入密码就可以连接说明配置成功了,如果配置失败也不是什么大问题,只不过以后每次git需要输入密码

创建git仓库

在服务器端 创建git仓库

1
2
3
4
5
cd ~

git init --bare blog.git

vi ~/blog.git/hooks/post-receive

添加下面的代码:

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

修改权限

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

至此服务端已经配置完成。

部署 hexo

打开 hexo 的配置文件 _config.yml 修改 Deployment 位置的配置

1
2
3
4
5
deploy:
type: git
repo: git@你的服务器公网IP:/home/git/blog.git
branch: master
message:

保存配置文件,打开终端进入 hexo 博客所在文件夹

1
2
3
4
cd blog //进入自己博客所在文件夹
hexo clean
hexo g //编译
hexo d //部署

宝塔创建网站

如图

Test.com为你的网站域名,也可用服务器 IP

提交创建即可

网站设置

打开宝塔后台,进入网站的设置界面,点击网站目录,选择目录为/home/hexo这是我们部署到云服务器的博客根目录

最后

最后就是在本地执行两条命令来生成你博客的静态网页文件了。

1
2
3
hexo clean # 清除缓存
hexo g # 生成网页
hexo d # 部署

现在就可以用 你的域名来访问博客了。