在 Debian 7上搭建 Ghost 博客

所属:Linux

前段时间,在 Digitalocean 上买了个 $5/M 的 VPS,当时是为了能科学上网,只搭建了个 Shadowsocks 而已,好像有点浪费的样子,而最近刚好又在学习 Node.js 方面的东西,于是就顺便搭了个 Ghost 博客…

下载 Ghost 源码

1
2
3
4
// 下载源码
wget https://ghost.org/zip/ghost-latest.zip
// 解压
unzip -uo ghost-latest.zip -d ghost

目前最新版本是 0.6.4,可以在 Github 或者 Ghost 官方网站上找到。

安装 node 相关依赖

1
2
3
4
5
6
// 进入到刚才指定的路径
cd /www/ghost
// 以生产环境模式安装相关依赖
npm install --production
// 运行 Ghost
npm start

/www/ghost 在这里只是举个例子,按照的自己的真实路径请自行替换哈!

使用 PM2 来管理

由于是直接用 npm start 这种方式来运行 Ghost,当关闭终端时,Ghost 也会停止运行的,为了能让 Ghost 始终保持运行着,即使重启系统也能一直运行着,这时就需要靠 PM2Foreversupervisor等等之类的来辅助管理了,在这里以 PM2 为例子

1
2
// 安装 PM2
npm install -g pm2

然后进入刚刚安装 Ghost 目录里

以生产模式运行 Ghost

1
NODE_ENV=production pm2 start index.js --name GhostBlog

可以用来 pm2 stop GhostBlog 或 pm2 restart GhostBlog,更多的命令请输入 pm2 help 进行查看。

生成 PM2 自动运行脚本

1
pm2 startup debian

保存

1
pm2 save

利用 Nginx 做反向代理

新建一个 ghost.conf 配置文件

1
(sudo) vim /etc/nginx/sites-available/ghost.conf

内容如下:

1
2
3
4
5
6
7
8
9
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;
}
}

然后创建个软链接,否则域名无法解析

1
ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf

example.com 替换成您自己的域名
http://example.com 验证下是否成功访问
http://example.com/ghost 初次登陆先完善用户信息

参考资料