Ghost blog 安装记录

这几天纠结于到底是用jekyll还是用hexo在github page上建静态网站。原来我是用的jekyll,把有些平时用的工具,或者经常查看的文章就会po到github上,供随时查看。 网上看了好多关于jekyll和hexo的评论,各有所长。最后,我选择在阿里云上搭建Ghost博客(人生就是这么戏剧)!

还是回归主题吧,说一说ghost的安装过程。

首先要有自己的服务器,虚拟主机是不行的,至少也得是vps,或者阿里云ECS。 linux系统,我使用的Ubuntu14.04 64位,至于域名申请,备案这些都是必须的,具体这里就不说了。

环境安装

ghost是要依托nodejs的环境的,目前支持的nodejs版本: 0.10.x, 0.12.x 和 4.2+.

sudo apt-get update  
sudo apt-get install -y python-software-properties python g++ make  
sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs  

最后安装好后,运行命令

node -v
v0.10.37

可以看到node已经安装好了

运行命令查看npm

npm -v
1.4.28

新建一个ghost的工作空间

sudo mkdir -p /var/www/

下载Ghost:

进入刚才创建的工作空间

cd /var/www/

下载Ghost并解压

sudo wget https://ghost.org/zip/ghost-latest.zip
sudo unzip -d ghost ghost-latest.zip

(解压的时候如果出错,是因为没有下载解压工具unzip,执行命令下载即可,然后重复解压命令。)

sudo apt-get install unzip

安装Ghost的生产模块:

cd ghost/
sudo npm install --production

现在我们已经安装完了,但是需要设置之后,才能启动它。

Ghost设置:

sudo cp config.example.js config.js

这句话的意思复制config.example.js 并命名为config.js,我们要对config.js这个文件进行修改:

sudo vi config.js

打开以后,修改以下被标注的区域:

config = {
     // ### Production
    // When running Ghost in the wild, use the production environment
    // Configure your URL and mail settings here
    production: {
        url: 'http://my-ghost-blog.com',
     ###将‘’内部的内容修改为你的解析后的域名,注意带上http
        mail: {
            // Your mail settings
        },
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
         },
        debug: false
    },

    server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '127.0.0.1',
        ###将‘127.0.0.1’改为‘0.0.0.0’
        // Port to be passed to node's `net.Server#listen()`, for iisnode s$
        port: '2368'
    }
},

(...)

:wq 保存退出编辑器,

sudo npm start --production

启动后,就可以看见ghost了

配置服务器程序:

在终端执行:

sudo apt-get install nginx

接下来需要对Nginx进行一些配置:

sudo apt-get install nginx
sudo rm sites-enabled/default
sudo touch /etc/nginx/sites-available/ghost
sudo nano /etc/nginx/sites-available/ghost

然后把这些代码粘贴进去:

server {
    listen 80;
    server_name your_domain.tld;

    ###修该为你的域名
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}

然后建立一个链接,将你新建的配置告诉Nginx:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

然后重启Nginx:

sudo service nginx restart
保持Ghost的运行:

安装forever:

sudo npm install -g forever

然后执行:

NODE_ENV=production forever start index.js

接下来看一下forever是否挂在了index.js:

forever list

停止用

forever stop index.js

好了,通过你的域名就可以访问你的博客了

至于HTTPS如何设置,我们下一篇再说。