很早就听闻Ghost的大名,界面简洁,响应速度极快,同时支持多人管理,一直以来没想着把玩,这次记起来就做了这个教程,如有纰漏,欢迎指正。
这是完成后的 http://ghost.jt4b.com
什么是Ghost?
Ghost 是一套基于 Node.js 构建的开源博客平台(Open source blogging platform),
具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写,目标是取代臃肿的 WordPress。
Linux下Node.js的安装
下载最新的nodejs,这里强烈推荐下载官方已编译好的版本,自行编译比较麻烦,而且容易遇到各种诡异的问题。
wget https://nodejs.org/dist/v5.3.0/node-v5.3.0-linux-x86.tar.gz
下载后解压
tar -xzvf node-v5.3.0-linux-x86.tar.gz
解压后将文件夹放到你认为合适的地方
关联全局
ln -s /home/jt4b/node-v5.3.0-linux-x86/bin/node /usr/local/bin/node ln -s /home/jt4b/node-v5.3.0-linux-x86/bin/npm /usr/local/bin/npm ln -s /home/jt4b/node-v5.3.0-linux-x86/bin/n /usr/local/bin/n
这样你就直接能在控制台输入指令了
输入
node -v npm -v
查看版本
安装成功
Ghost的安装以及遇到问题
这里下载的是Ghostchina制作的Ghost 0.7.4中文集成版
wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip unzip -uo Ghost-0.7.4-zh-full.zip
解压后进入目录,执行
npm install --production
这时居然报错了,运行npm start看看,可以看到
看来是Ghost并不支持最新版本的node,怎么办呢?还好node附带一个非常方便的管理模块n
输入
n 0.10.28
就可以轻松切换到0.10.28版了 (推荐用0.10.21)
此时再执行
npm install --production
就安装成功了。
接下来配置数据库,GHOST默认使用的是SQLite3,这里我们使用MySQL。
创建一个名为ghost的数据库,打开Ghost目录下的config.js,如果没有就拿config.example.js复制一份出来重命名为config.js
Production部分将其修改为
database: { client: 'mysql', connection: { host : '127.0.0.1', user : 'test', password : 'test', database : 'ghost', charset : 'utf8' }, debug: false }
开启的端口可以自行设置config.js找到如图位置修改
npm start
可以看到顺利启动了,浏览器输入 http://ip:5555 已经能顺利访问。
但这还不行,因为当你结束会话时,任务就会结束。所以此时就要用到forver了
npm install forever -g
安装forver CD进Ghost目录
运行
NODE_ENV=production forever start index.js
这时Ghost就挂载到forver上了,如果想关闭可以通过
forever stop PID
指令进行。
Nginx反向代理设置
这时已经可以通过IP:5555访问我们的Ghost了,可这样并不便捷也不美观,这里我要将其绑定到我的二级域名ghost.jt4b.com上
控制台输入
vi /usr/local/nginx/conf/nginx.conf
将下列代码添加进去
server { listen 80; server_name ghost.jt4b.com; location ~ { proxy_pass http://ip:5555; //自行修改 } access_log /home/wwwroot/jt4b.com/log/ghost.log combined; #access_log end error_log /home/wwwroot/jt4b.com/log/ghost.log crit; #error_log end }
这里我启用了日志,不想启用可以改成
access_log off; #access_log end error_log /dev/null; #error_log end
保存后
nginx -s reload
重启nginx
稍等片刻后打开ghost.jt4b.com可以看到已经挂载成功了。