GitOPEN's Home.

在自己的VPS上搭建Hexo博客

Word count: 715 / Reading time: 3 min
2017/08/16 Share

前言

在大家都玩推特、非死不可、印死、微博、微信的时代,博客已经被冷落了。但是作为一枚 coder,仍然需要一个安分守己的寸土,去记录自己学习的点点滴滴。从之前的新浪博客、网易博客,到专门用于技术分享的 CSDN,再到属于自己的 WordPress,最终进化到 Hexo 或者 Jelly 静态页面,博客已经从“繁杂缤纷”逐步简化到“大道至简”。之前我一直使用github pageshexo的方式来写博客,但是 github pages 有一个最大的问题就是“拒绝搜索引擎和速度太慢”。因此,在自己的 VPS 上搭建 Hexo,可以so easy 的达到我们的随心所欲。

选择 VPS

之前我一直用 Linode 和 vultr 的日本节点,但是电信网络走 ntt,丢包实在是严重。因此,我选择了 vultr 的洛杉矶节点。实测ping 虽然不算快,平均250左右,但是不丢包还算稳定。我在它上面安装 LNMP 和 ss,一直很不错哟。

大家可以用下面的链接来购买 Vultr:

购买 Vultr链接

更新 CentOS 的 git

我的 VPS 的系统是CentOS 7 x64,它自带的 git 版本太低,因此将它更新到最新的 git。

关于如何更新git,请参考我之前的博文:
配置和安装git服务器

创建git用户组和添加用户

参考之前写的步骤:
创建git用户组和添加用户

初始化用于存放博客静态文件的仓库

切换到 git 用户:

1
su git

创建仓库:

1
git init --bare blog.sunjiajia.com.git

配置 hooks

1
2
cd /home/git/blog.sunjiajia.com.git/hooks
vi post-receive

添加下面的代码:

1
2
3
4
5
6
7
8
#!/bin/bash -l
GIT_REPO=/home/git/blog.sunjiajia.com.git
TMP_GIT_CLONE=/tmp/blog.sunjiajia.com
PUBLIC_WWW=/home/wwwroot/blog.sunjiajia.com
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}

/home/wwwroot/blog.sunjiajia.com是后面 lnmp 绑定的网站根目录。

切换到 root 用户

1
su root

安装LNMP

这里我们使用的是lnmp 一键安装包,请参考该页面的安装步骤。

添加 host 并绑定域名

安装 lnmp 之后,添加主机和绑定域名:

1
lnmp vhost add

安装提示绑定域名等操作即可。

赋予 git 用户操作网站根目录的权限

1
chown git:git /home/wwwroot/blog.sunjiajia.com

这样git 就可以操作网站根目录了。

配置完毕

在 hexo 的 _config.yml 中配置:

1
2
3
4
deploy:
type: git
message: "安卓猴写了新博文"
repo: git@blog.sunjiajia.com:blog.sunjiajia.com.git

生成hexo 静态文件并部署到 VPS:

1
2
hexo g
hexo d

结语

在配置好自己的 VPS+Hexo 博客以后,今后写博客就比较方便了,速度还可以,而且也有利于搜索引擎收录。


欣慰帮到你 一杯热咖啡
【奋斗的Coder!】企鹅群
【奋斗的Coder】公众号
CATALOG
  1. 1. 前言
  2. 2. 选择 VPS
  3. 3. 更新 CentOS 的 git
  4. 4. 创建git用户组和添加用户
  5. 5. 初始化用于存放博客静态文件的仓库
  6. 6. 配置 hooks
  7. 7. 切换到 root 用户
  8. 8. 安装LNMP
  9. 9. 添加 host 并绑定域名
  10. 10. 赋予 git 用户操作网站根目录的权限
  11. 11. 配置完毕
    1. 11.1. 结语