发布于 2014-12-30 09:43:15 | 286 次阅读 | 评论: 0 | 来源: PHPERZ
Ghost 博客系统
Ghost 是一个开源的博客平台, 可以把他看作 WordPress 的一个挑战者. 现阶段的 WordPress 已经可以明显感觉到有些臃肿不堪, 无论是构架, 设计, 还是实现处处都显示出这是一个 10 年前就诞生的项目, 尤其是最近几个版本更新, 几乎都只是在功能和交互层面作出改进, 而看不到本质上的进步和优化. 因此我更愿意把 Ghost 看作 WordPress 的继任者. 同时, Ghost 基于 JavasSript 的 Node.js 进行开发, 在可预见的未来里, JS 无疑比 PHP 有着更多的优势.
本文为大家 讲解的是如何在在linux vps 上安装 Ghost 博客系统的方法,感兴趣的同学参考下。
Ghost是迄今为止最好用的开源博客平台。Ghost博客由前WordPress主管 John O'Nolan 和美女工程师 Hannah Wolfe 创立。开源社区支持率远超WordPress。
Ghost中文版由云应用托管服务商点云DianCloud主导开发和在中国区推广。中文版代码将在与官方版保持一致的前提下,加入一些特有功能。 比如:可以将博文转换成长微博,自动发布到用户绑定的微博上; 可以与用户的公众账号关联,自动生成图文消息并推送等等。
我的 VPS 系统比较差,很多必备的东西都没安装。
apt-get update
apt-get -y upgrade
apt-get install -y build-essential vim curl unzip
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs
进入你想要安装的目录(一般我放在 /home/wwwroot/domain_name/ 下)执行:
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip
npm install --production
npm start
这样装好后,外网是访问不到的,因为生产环境只监听了127.0.0.1的请求。你可以修改 config.js 来修改设定,但是我们一般在前端再用一层 nginx 做中转。
apt-get install -y nginx
rm /etc/nginx/sites-enabled/default
vi /etc/nginx/sites-available/ghost.conf
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;
}
}
创建链接:
ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf
启动nginx:
service nginx start
这个时候你使用域名就可访问到了。
后台运行有很多方式,比如 forever 、Supervisor 等等。这里我们使用 Supervisor 。
apt-get install -y supervisor
service supervisor start
vi /etc/supervisor/conf.d/ghost.conf
内容如下(注意替换路径):
[program:ghost]
command = node /path/to/ghost/index.js
directory = /path/to/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
执行以下代码启动 ghost :
service supervisor start
supervisorctl reload
如果遇到问题或修改了配置,可使用以下命令检查或重载:
supervisorctl tail -f ghost stderr
supervisorctl restart ghost
supervisorctl update
经过之前的配置,现在ghost是可以访问到了,但是还会有一些问题,配置文件是 ghost 程序目录的 config.js,我们来修改下 production 字段的配置。
privacy: {
useGoogleFonts: false,
useGravatar: false
}
要禁用前台的 Google Fonts,只能手动修改模版中的 css 文件引用了。对于默认的 capser 主题,在 content/themes/capser/ 目录的 default.hbs 中。
配置邮件在 mail 字段中。官方文档 中只介绍了使用 mailgun 等服务商的方式,如果是已经有了自己的邮件服务,可采用以下配置(以QQ域名邮箱为例,注意替换邮箱和密码):
mail:{
transport: 'SMTP',
from: 'Your Name <yourname@yourhost.com>',
options: {
host:'smtp.qq.com',
secureConnection: false,
port:25,
auth: {
user: 'your_email_addr',
pass: 'your_email_password'
}
}
},