使用nodejs和ghost搭建博客
点击访问原文
您还可以加入全栈技术交流群(QQ群号:254842154)
本文介绍如何在centOS上搭建一个基于nodejs的ghost博客
1、安装nodejs
先安装依赖文件
sudo yum groupinstall 'Development Tools'
再下载安装nodejs
wget http://nodejs.org/dist/node-latest.tar.gz
tar -zxvf node-latest.tar.gz
cd node-v0.10.35 (根据自己的实际情况更改目录名称)
./configure
make
make istall
安装完毕,假如在安装时有通过
./configure --prefix=/usr/local/nodejs,则需要在.bash_profile中新增环境变量,并通过source .bash_profile立即生效
测试nodejs的版本
node --version
2、安装ghost
2.1下载
登录官网 https://ghost.org 下载最新版本。
需要注册账号,注册账号时,不能用foxmail的邮箱,否则会一直提示用户名不可用,很坑。
这里直接给出下载地址吧:https://en.ghost.org/archives/ghost-0.5.7.zip
2.2安装
解压到指定目录
unzip ghost-0.5.7.zip -d /usr/local/apache/htdocs/ghost/
cd /usr/local/apache/htdocs/ghost/
npm install --production
配置文件
cp config.example.js config.js
把配置文件中的127.0.0.1替换你自己的本机ip地址
sed -i 's/127.0.0.1/YOUR_IP/g' config.js
到这里,基本上就OK了,然后以开发者模式来运行ghost
npm start
假如启动成功,提示类似于这样:
Listening on 123.3.23.42:2386
在浏览器中输入http://localhost:2386 即可看到页面,第一次打开可鞥会比较慢
按Ctrl+C停止开发者模式,以用户模式运行ghost,先安装forever模块
npm install forever -g
启动ghost,以守护进程的方式启动
NODE_ENV=production forever start index.js
查看 forever的活动进程列表
forever list
停止ghost守护进程
forever stop index.js
使用pm2守护ghost
使用forever命令去启动ghost的一个麻烦之处在于需要手动操作,假如服务器重启了,我们是希望能有守护进程来自动启动ghost。这里使用pm2可以实现。
进入ghost的根目录,安装pm2(安装完之后可能需要重启服务器)
npm install -g pm2
启动ghost
NODE_ENV=production pm2 start index.js --name "ghost"
保存
pm2 startup centos
pm2 save
查看列表,看看有没有ghost这个进程,假如有,则成功
pm2 list
//或者
pm2 status
为了验证守护进程是否成功,可以重启服务器试试。假如自动启动了则说明守护成功。
此时,我们就可以保证我们的ghost博客永远在线了。
其他命令:
//查看进程的使用资源情况
pm2 monit
//log
pm2 logs
参考:
http://se77en.cc/2013/06/27/goodbye-node-forever-hello-pm2-translation/
https://www.znotes.info/centos-ghost-blog/#PM2
ghost加速
博客搭建好后,正常情况下速度应该是比较可观的。但是由于各种原因可能会访问比较慢。下面给出几个加速方案。
1、google字体替换
ghost使用了google的字体,所以国内访问起来很慢,需要替换成国内的。我这里使用的是360网站卫士提供的常用前端公共库CDN服务。
在主题目录下找到default.hbs文件,找到以下代码:
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Noto+Serif:400,700,400italic|Open+Sans:700,400" />
把其中的 googleapis 替换成 useso,其他部分不需要修改,修改后是这样子的:
<link rel="stylesheet" type="text/css" href="//fonts.useso.com/css?family=Noto+Serif:400,700,400italic|Open+Sans:700,400" />
修改完了记得重启ghost。不然不会生效。
更多常用前端公共库CDN服务请参考:http://libs.useso.com/
2、CDN加速
网站备案后可以使用百度的免费CDN加速。假如没有备案,可以使用百度的DNS加速。参考这里:
注意:国外的服务器无法备案。
参考
1、http://ask.xmodulo.com/install-node-js-linux.html
2、http://linux.cn/thread/12022/1/1/