VPS部署jekyll

经过一天的折腾,终于实现在VPS上搭建一个基于jekyll的博客来替换wordpress。

Digital Ocean[^1] 的很多文章帮了大忙了

1. 创建用户(optional)

如果觉得可以一直用root的话可以跳过这一步了。
这里是基本的Linux操作,直接贴链接。

创建用户

2. 安装ruby

这一步其实也没啥,用rpm安装的ruby还是1.8的。两年前的东西实在太旧了,建议用rvm安装,可以版本切换。

安装ruby

3. 安装jekyll

来到最重要的一步了,大家都知道jekyll是用来编译博客的,所以在一篇博客写完后要把md文件放到VPS上,在执行jekyll build生成html的话就太麻烦了。所以得把我们的VPS打造的跟GitHub Pages那样,push之后自动build。
Digital Ocean这篇文章实在太赞,小白应该都能看得懂。

用Git部署jekyll

其中最重要的是那一段脚本,大家仔细研读。

1
2
3
4
5
6
7
8
9
#!/bin/bash -l
GIT_REPO=$HOME/repos/awesomeblog.git
TMP_GIT_CLONE=$HOME/tmp/git/awesomeblog
PUBLIC_WWW=/var/www/awesomeblog

git clone $GIT_REPO $TMP_GIT_CLONE
jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit

4. 安装nginx

胜利就在眼前,nginx安装很容易的,而且省资源,博主128mb的lowX的服务器也跑的呼呼地。
在Digital Ocean没找到centos6的就拿篇7的看看也一样。

安装nginx

其他的一些幺蛾子

因为jekyll刚刚升级到3.0,所以出了一个幺蛾子。

最大的坑就是首页paginater的posts出不来,不得已就到VPS上去build,发现jekyll-paginate这个插件需要加入到_config.yml中去了。

build时会报error

Deprecation: You appear to have pagination turned on, but you haven’t included the jekyll-paginate gem. Ensure you have gems: [jekyll-paginate] in your configuration file.

1
2
gems :
- jekyll-paginate

重启build一把,ok。
[^1]: https://www.digitalocean.com