宝塔面板Centos 6 x64安装Ghost 博客

安装 Node.js

1.下载源码

<code class="language-html">cd /usr/local/src/  
wget https://npm.taobao.org/mirrors/node/v0.10.24/node-v0.10.24.tar.gz

2.解压源码

<code class="language-html">tar zxvf node-v0.10.24.tar.gz

3、 编译安装

<code class="language-null">cd node-v0.10.24  
./configure --prefix=/usr/local/node/0.10.24
make  
make install

4、 设置node.js环境变量

<code class="language-ssh">vi /etc/profile

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL一行的上面添加如下内容:

<code class="language-null">#set for nodejs
export NODE_HOME=/usr/local/node/0.10.24  
export PATH=$NODE_HOME/bin:$PATH  

5、编译/etc/profile 使配置生效

<code class="language-null">source /etc/profile

编辑.bashrc

<code class="language-null">vi ~/.bashrc

添加以下:

<code class="language-null">source /etc/profile

6、验证是否安装配置成功

<code class="language-null">node -v

输出 v0.10.24 表示配置成功,OK,基础环境部署完成。

安装Ghost

1.下载Ghost到你的网站目录

<code class="language-null">cd /www/wwwroot/ghost.doocii.com
wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip
unzip Ghost-0.7.4-zh-full.zip
rm -rf Ghost-0.7.4-zh-full.zip

2.复制config.example.js成config.js

<code class="language-null">cp config.example.js config.js

3.编辑config.js文件

<code class="language-null"> production: {
        url: 'http://ghost.doocii.com',//你的博客域名
        mail: {},
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
            },
            debug: false
        },

        // 配置MySQL 数据库
        /*database: {
            client: 'mysql',
            connection: {
                host     : '127.0.0.1',
                user     : '数据库账户',//数据库账户
                password : '数据库密码',//数据库密码
                database : '数据库名称',//数据库名称
                charset  : 'utf8'
            },
            debug: false
        },*/

        server: {
            host: '127.0.0.1',//这里改成0.0.0.0,否则他人无法访问
            port: '2368'
        },

配置Nginx

由于之前你新建的虚拟主机的Nginx配置是为php服务的,所以,我们要将其进行修改成为node.js服务,进入宝塔后台点击ghost网站域名,清空配置文件,替换成以下

<code class="language-null">server {
    listen 80;
    server_name example.com;//替换域名

    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}

重启一下Nginx

启动Ghost

<code class="language-null">npm start --production

如果不出差错,在浏览器输入你的域名就可以看见Ghost的界面了,–production不能少
别以为到这就结束了,目前Ghost在我们SSH断开后就会结束进程,所以我们继续:

安装PM2守护Ghost进程

  • 用 npm 全局安装
<code class="language-null">npm install -g pm2
  • 必须进入 Ghost 博客目录:
<code class="language-null">cd /www/wwwroot/ghost.doocii.com
  • 在 Ghost 博客目录下, 让 Ghost 以 Production 模式(生产模式)运行,指定程序入口文件为 index.js,并且将此进程命名为 ghost:
<code class="language-null">NODE_ENV=production pm2 start index.js --name "ghost"
  • 使 Ghost 开机自启动:
<code class="language-null">pm2 startup
  • 保存目前的 PM2 配置:
<code class="language-null">pm2 save

PM2 重启进程的命令是:

<code class="language-null">pm2 restart 进程名

你可能会遇到的错误

错误1:ERROR: Cannot find module

在执行npm start --production之后提示错误:

ERROR: Cannot find module ‘/www/wwwroot/ghost.doocii.com/node_modules/sqlite3/lib/binding/node-v11-linux-ia32/node_sqlite3.node’

解决方法:

<code class="language-null">npm install sqlite3

错误2:使用npm安装包失败

解决方法:
1.通过config命令

<code class="language-null">npm config set registry https://registry.npm.taobao.org  
npm info underscore (如果上面配置正确这个命令会有字符串response)

2.命令行指定

<code class="language-null">npm --registry https://registry.npm.taobao.org info underscore

3.编辑 ~/.npmrc 加入下面内容

<code class="language-null">registry = https://registry.npm.taobao.org

4.重新尝试启动Ghost

<code class="language-null">npm start --production

参考:

http://www.runoob.com/nodejs/nodejs-install-setup.html
http://www.tuicool.com/articles/jQnIJf3

宝塔面板Centos 6 x64安装Ghost 博客
Share this