很久以前就一直存在着摆脱数据库和增加Markdown写作的“新兴”博客平台的潮流,比较早的先行者是Heroku、Octopress等,近年来,随着Ghost的出现,这一风潮得到了最大化的推动。从目前来看,似乎没有任何程序的出现能够撼动Wordpress的N.O. 1的地位,但是Ghost注重写作的特质还是有不少特定的人群。由于官方的教程相对零散,今天花了点时间将他们收集整理了一下,本文操作环境是Debian 7 32位系统下,Ubuntu基本通用,但是没有测试。
Linux下安装Ghost博客平台
Ghost目前需要Node.js 0.10.X版本和npm 0.25支持,由于这两个软件包的版本要求比较严格,不要一味的求新,否则安装会出问题
一、安装和配置Ghost
1.安装Nodejs:
curl --silent --location https://deb.nodesource.com/setup_0.10 | bash - apt-get install --yes nodejs
2.把npm升级为2.5.0
npm install npm@2.5.0 -g
3.建立文件夹目录
mkdir -p /home/www/
4.下载ghost安装包并解压
cd /home curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip unzip -uo ghost.zip -d www cd www
5.安装Ghost
npm install --production
复制一份默认的配置文件config.js(如有需要,可对此文件进行进一步优化操作,本文此处暂可不更改)
cp config.example.js config.js
安装好的ghost的端口为2368,已经可以进行本地的浏览和编辑了,但是,为了获得更好的网络访问体验,还需要使用Nginx进行代理。
6.安装Nginx
apt-get install nginx cd /etc/nginx/ rm sites-enabled/default vi /etc/nginx/sites-available/ghost
7.配置Nginx规则,只需要修改“your_domain.tld”为自己的域名
server { listen [::]:80; server_name your_domain.tld; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:2368; } }
8.使Nginx规则生效
ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost
9.重启Nginx
service nginx restart
10.为了方便我们日常的管理,可以将ghost注册为Linux的服务(将Ghost添加为init.d),这样也可以让ghost安静地在后台运行。
sudo curl https://raw.githubusercontent.com/TryGhost/Ghost-Config/master/init.d/ghost \ -o /etc/init.d/ghost
vi /etc/init.d/ghost
把GHOST_ROOT后面的目录改为自己的Ghost目录,本文为/home/www
11.由于上面的脚本默认为系统的ghost用户运行,因此,我们还需要创建用户,并赋予他相应的权限。
useradd -r ghost -U
chown -R ghost:ghost /home/www
chmod 755 /etc/init.d/ghost
经过以上设置,即可通过一般的service命令进行管理ghost的操作了
service ghost start service ghost stop service ghost restart service ghost status
12.设置开机启动
sudo update-rc.d ghost defaults $ sudo update-rc.d ghost enable
13.访问http://域名/ghost/setup/one/,经过简单几步设置和创建账户,安装就完成了。
二、发送邮件设置:
这里采用Mailgun提供的SMTP服务,可以省去不少不必要的麻烦,另外,Mailgun提供的每月10,000封邮件的额度完全满足一般个人博客的需求
1.访问如下网址,注册账号后,点击账户内部的sandboxXXXX.mailgun.org的域名,点进去可以看到API Key的字符串,复制下来,在下面的网址上输入
https://ghost.mailgun.com/
2.输入博客域名
3.右边会生成完整的Ghost的配置文件,复制其中的mail字段
4.粘贴到Ghost配置文件/home/www/config.js相应的位置上。
5.重启Ghost生效
service ghost restart
全部流程完毕后,整个系统的内存占用仅为96M,算是很理想,不过在高访问量的情况下就不知道是否能够继续hold住了。目前的教程仅完成了Ghost最基本功能的部署,日后的功能会进行进一步的增补,也欢迎大家对此类教程批评指正。
这个占内存多少?
全部流程完毕后,整个系统的内存占用仅为96M,算是很理想,不过在高访问量的情况下就不知道是否能够继续hold住了
放心啦。Node.js 程序处理数据速度不是一般的快!树梅Pi上运行Ghost都是很容易的。