用DigitalOcean搭建Ghost博客

连续写三篇真累……这篇要来说说怎么搭建Ghost博客。其实之前一直用的github托管静态博客,但越来越感觉写得累,大概就是所谓的喜新厌旧吧。所以趁着买了服务器,赶快搭建一个动态博客,看了一圈,抛弃了WordPress,选择了Ghost。

其实Ghost有自己的博客平台,但要收费。好在也开源了,安装十分简单,部署到服务器上也是挺快的。

域名

上Godaddy买好域名,用DNSPod进行DNS管理,这部分工作就不细说了。

安装

安装node和npm

省略……

安装ghost

ghost 的最新安装包下载到服务器上,或者通过以下命令

1
2
// wget后面带最新的安装包链接
wget https://github.com/TryGhost/Ghost/releases/download/0.11.4/Ghost-0.11.4.zip

再解压

1
unzip Ghost-0.11.4.zip -d ghost

在ghost内执行

1
sudo npm install --production

时间可能有点久,要等一会。

如果申请的是小内存系统,可能 npm install 的时候会失败,因为内存太小了……所以需要自己手动设置系统的交换文件来增加运行内存。看这里

接下来使用supervisor来运行ghost

1
2
3
4
// 安装supervisor
sudo pip install supervisor
// 生成配置文件
echo_supervisord_conf > /etc/supervisord.conf

/etc/supervisord.conf 底部添加任务,其中command和directory需要填写ghost的路径。

1
2
3
4
5
6
7
8
[program:ghost]
command = node /path/to/ghost/index.js
directory = /path/to/ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"

最后执行supervisor

1
2
3
4
5
sudo supervisord
sudo supervisorctl start ghost
// 如果想停止ghost运行
sudo supervisorctl stop ghost

接下来部署nginx

安装nginx

1
sudo apt-get install nginx

添加文件 /etc/nginx/sites-available/ghost.conf

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}

这里的127.0.0.1:2368就是ghost的本地运行入口。example.com是你的域名。

然后执行

1
2
3
4
// 配置文件软链接到 sites-enabled 文件夹下
sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf
// 重启 nginx
sudo service nginx restart

这样,就可以直接通过域名访问到Ghost博客了!

使用

使用ghost很简单,访问你的域名example.com/ghost,就可以创建管理员账户。还可以邀请其他人来共同创建团队博客。

当然,ghost也可以修改主题,直接在安装文件目录下的 content/themes 内添加主题,重新运行ghost,就可以在后台里面设置生效。

还有一些默认设置,可以在后台界面中修改,也可以在配置文件 config.js 里面修改。

本来想试试畅言的评论系统,刚注册完发现要备案信息,果断地又用回了多说……

TODO

还需要完成的:

  1. 更换主题,找了一圈还没发现合适的。

  2. 考虑要不要把之前hexo的文章导过来,但搞了一下发现没那么容易,回头再看看有没有时间弄。

总结

安装起来可能比较繁琐,事后补写的步骤,可能会有遗漏。不过Ghost写起来不要太爽,后台Markdown实时预览写文章,修改发布一气呵成,还能实时保存。

参考