同步发表在我的博客
http://hiroz.cn/2015/01/03/deploy-ghost/
---
从今天开始写博客啦,按照惯例,我还是先说一句:Hello World!。 首先我们来认识一下题目里边的Ghost是什么:
Ghost 是基于 Node.js 的开源博客平台,由前 WordPress UI 部门主管 John O’Nolan 和 WordPress 开发人员 Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作发布平台。
简而言之就是,相较于非常著名且功能强大复杂的WordPress,Ghost是一个易扩展、易阅读的轻量级博客平台,基于Node.js开发,致力于提供更纯粹的博客体验的平台。当然啦,对于我这样的初级码农来说,比起功能繁多的WordPress,这个最大的优点就是便于学习CMS类型的网站构建啦,而且比基于Php的WordPress更有逼格。要知道,生命在于折腾。
废话不多说了,开始吧。
编译安装 node.js
为什么要编译安装 node.js? 我用的环境是 Ubuntu 12.04,在原生的apt源中,node的版本是0.6.x,这是一个非常非常古老的版本,缺失了非常多重要的特性,因此需要用编译安装来安装最新的版本。Node.js 下载地址
通过ssh连上主机后,确保你的主机上有安装gcc、wget,然后输入以下命令:
cd /tmpwget http://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x64.tar.gztar -xzvf node-v0.10.35-linux-x64.tar.gzcd node-v0.10.35-linux-x64./configuremakesudo make install
安装好之后,可以使用以下命令检查是否安装完成,显示如下结果说明安装成功:
$ node -vv0.10.35$ npm -v1.4.28
安装 Ghost
在开始安装Ghost之前要说两句,首先Ghost的官方网站实在是慢得扣shi,所以有几个备用的镜像地址可供选择:
- Ghost 官网:这个就不多废话辣~(≧▽≦)/~啦啦啦
- Ghost中国:可以去这里找找链接,这里是非常快的,建议使用这个。
- Ghost Github 托管库:这个库也非常慢
准备好Ghost的安装包的下载链接之后,就要开始安装了:
- 下载ghost
sudo apt-get install unzipcd ~wget http://dl.ghostchina.com/Ghost-0.5.6.zipunzip Ghost-0.5.6.zip -d ghostcd ghostvi config.js
- 配置数据库
在配置文件中有这么一段
production: {url: 'http://my-ghost-blog.com',mail: {},database: {client: 'sqlite3',onnection: {filename: path.join(__dirname, '/content/data/ghost.db')},debug: false},server: {host: '127.0.0.1',port: '2368'}}
SQLite3需要额外装依赖包,不过最好换成MySQL数据库。怎么安装MySQL这里我就不重复叙述了,我用的阿里云的RDS,这个是非常方便的,本机上就不用配置MySQL了,节约本来就不多的CPU资源。现在,把database内的一段修改为自己的:
database: {client: 'mysql',onnection: {host : 'xxxxx12345.mysql.rds.aliyuncs.com',user : 'test',password : '12345678',database : 'ghost',charset : 'utf8'},debug: false},
- 完成安装
npm install
配置 Nginx
事实上已经开始运行了,不过我额外增加一个Nginx反向代理。
sudo apt-get install nginxcd /etc/nginx/sites-availablesudo cp default ghostcd /etc/nginx/sites-enabledsudo ln -s ../sites-available/ghost ./ghostsudo vi ghost
在配置文件中,把yourdomain.com换成自己的域名:
server {listen *:80; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good ideaserver_name yourdomain.com default_server; # e.g., server_name source.example.com;server_tokens off; # don't show the version number, a security best practiceclient_max_body_size 20m;location / {proxy_pass http://127.0.0.1:2368;}error_page 502 /502.html;}
跑起来
cd ~/ghostnpm start --production
后台运行
cd ~/ghostnohup npm start --production > log.out 2>&1 &
本文介绍如何在Ubuntu环境下从零开始部署基于Node.js的轻量级博客平台Ghost,包括编译安装Node.js、安装Ghost及配置MySQL数据库等内容。
1806

被折叠的 条评论
为什么被折叠?



