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

Feb 28, 2017 • edited Mar 18, 2020

优雅地在 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 install

启动 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 ghost
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 ghost
pm2 save
#技术笔记

思维懒惰会导致理想丧失

关于做成一件事