优雅地在 CentOS 里安装Ghost 和Node v4.2.2

Ghost是一款非常出色的开源博客平台,无论是从架构、设计、易用性,它都要比Wordpress要好,界面简洁,专注写作,支持在线预览,在线写作,无论您是在哪里,都可以去写博客,尽情的享受写作带来的快感。

CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。完全免费,不存在RED HAT AS4需要序列号的问题。是目前VPS和服务器租用服务商使用最广泛的操作系统。

GHOST优势

  • 技术上,采用 Nodejs,在可预见的未来里,无疑比 PHP 有更多优势,并发能力远超 Wordpress ,虽然Nodejs 后期维护成本高,但是我们只是借它做博客而已。
  • 易用性上,专注写作,评论,超炫皮肤,完美支持 MarkDown,没有Wordpress那么臃肿,回归到博客最原始的状态,传递文字最原始的力量。
  • 使用上,便捷,随时随地编辑,比 Hexo, Jekyll 这类静态博客要书写方便,特别是在不同电脑上写作时。

前期准备

yum update 更新yum源  
yum groupinstall "Development Tools" 安装开发工具包
yum install wget 安装wget下载工具

优雅地安装 Node v4.2.2

curl -sL https://rpm.nodesource.com/setup_4.x | bash -  
yum install nodejs

验证是否安装配置成功: node -v

安装Ghost

cd /var/www/  
curl -L https://ghost.org/zip/ghost-latest.zip -o sungz.zip
unzip sungz.zip -d sungz
cd sungz/

将config.example.js重命名为config.js再对其进行修改配置

mv config.example.js config.js  
vi config.js

Ghost默认集成 sqlite3 原生库,sqlite3有很多优势,安装简洁方便,备份快捷,用过会很喜欢。但博客篇幅比较大时,sqlite读写数据量太大时将会影响页面加载速度,我们可以根据不同需求改用mysql。

如果选择使用sqlite则在config.js中只需要修改url地址

production: {  
url: 'www.sungz.com', //这里是你自己VPS主机的域名,或者IP
mail: {},
database: {
client: 'mysql'这里我选择使用mysql作为我博客的数据库
connection: {
host : '127.0.0.1',
user : 'sungz', //mysql用户名
password : 'sungz', //密码
database : 'ghost', //之前创建的ghost数据库名称
charset : 'utf8'
},
server: {
host: '127.0.0.1',
port: '2368'//若修改该端口记得在nginx中做相应改变
}
}

启动 Ghost

npm start --production

访问 http://your-ip-address:2368 就可以查看你的新博客地址。 访问 http://your-ip-address:2368/ghost 登陆和设置你的博客。

让Ghost永远在线

方法一、安装PM2,保持Ghost一直在后台运行

//!!首先进到ghost的安装目录

//安装pm2,保持Ghost一直在后台运行
npm install pm2 -g # 让ghost以production模式运作,指定程序的入口index.js,并且此进程命名为ghost
NODE_ENV=production pm2 start index.js --name "ghost" # 生产模式后台运行ghost
pm2 startup centos
pm2 save

进程守护做完,顺便提提pm2重启进程的命令是:pm2 restart 进程名。

方法二、安装forever,保持Ghost一直在后台运行

$ cd /var/www/ghost $ npm install forever -g # 全局安装forever模块 $ NODE_ENV=production forever start index.js # 生产模式后台运行ghost

换了服务器重新安装Ghost

npm cache clean  
rm -rf node_modules/
npm install
npm start --production
npm install pm2 -g
NODE_ENV=production pm2 start index.js --name "ghost"
pm2 startup centos
pm2 save

Originally published at www.sungz.com on February 28, 2017.

Show your support

Clapping shows how much you appreciated 阳光格子’s story.