4

Ghost是基于Node.js的开源博客系统。 John O'Nolan等觉得Wordpress过于臃肿复杂,而且越来越多的人将WordPress当成CMS来用,因此决心重头打造一个坚决纯粹的专注于博客的平台——Ghost。

ghost blog

Ghost开发之前在kickstarter上进行募款,目标是£25,000,结果总共募到了£196,362。

特性

  • 基于Node.js采用实时架构,提升了访问体验。
  • 简洁清亮,部署完成后只占用30M不到的空间。
  • Markdown编辑器,良好的撰写体验。
  • 部署简单,降低了自建博客的门槛。
  • 界面清爽优雅,后台采用响应式设计,移动设备上也可以撰写博客。

部署

Ghost需要Node.js v0.10.*

Ghost.org下载安装包后解压缩,之后运行如下命令安装:

npm install --production

使用npm start命令启动Ghost服务,之后可以在http;//localhost:2368访问。

当然,生产环境需要确保Ghost挂了之后能自动重启,前面也需要用反向代理挡一下。

Forever

Forever可以在后台运行程序,并且在node进程挂掉之后自动重启。

安装forever

npm install forever -g

使用forever运行Ghost:

NODE_ENV=production forever start index.js

使用forever stop index.js来停止Ghost,使用forever list查看Ghost是否运行。

Nginx

创建/etc/nginx/sites-available/ghost.conf文件,内容如下:

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;
    }
}

注意用你的域名替换example.com

使用sites-enabled激活配置,并重启nginx:

sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf
sudo service nginx restart

部署到BAE

config.js中的端口替换为18080,将package.json中的sqlite3的值替换为http://bcs.duapp.com/bae-v3/sqlite3-2.1.16.tgz。(sqlite3的部分文件存储在AWS上,BAE无法连接。)

然后像平常的BAE应用一样新建上传即可。

托管

如果不打算自己部署,也可以直接使用ghost.org的托管服务


编撰 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity