DANTE

Ghost 搬家记录——这次是 Ubuntu

最近从Linode跳到了RamNode,新的服务器上安装了最新的Ubuntu 16.04,在给Ghost搬家的过程中遇到了很多问题,再来记录一下。

关于node.js

Ghost现在已经支持node 4 LTS系列,而node.js的官网也提供有4的apt repo,所以直接按照提示运行命令就可以搞定。

关于systemd

我一开始将前文中贴出的systemd示例直接复制到了新服务器上,但是无论如何也无法启动Ghost。首先,systemd说PrivateNetworks这个属性未知;其次,在原先的示例里,npm的路径是/usr/local/bin/npm,而新系统上应该是/usr/bin/npm——我花了20分钟来研究为何直接运行npm start就可以,而使用systemd就无法启动。复制粘贴害死人啊……

关于Nginx

Ubuntu中的Nginx果然有/etc/nginx/sites-available这样的目录结构,所以可以无缝地使用官方的教程。

关于SSL模式

Cloudflare现在为“Original Server”提供免费的SSL证书了!只需要简单点几下,就可以为“原始服务器”创建一份证书;。那么nginx的配置文件里就要增加一些与SSL有关的条目了:

listen 443;

ssl on;
ssl_certificate /path/to/certs/server.pem;
ssl_certificate_key /path/to/certs/server.key;
ssl_client_certificate /path/to/certs/origin-pull-ca.pem;
ssl_verify_client on;

这里,server.pemserver.key就是在Cloudflare创建的“原始服务器”证书;而origin-pull-ca.pem则是用来验证请求是否来自Cloudflare的,也就是前文所提到的Authenticated Origin Pulls。

评论