您的位置:首页 > 运维架构 > Nginx

Hello World! Linux Ubuntu 搭建 Nginx + Nodejs + Ghost 博客

2015-01-20 10:47 302 查看
同步发表在我的博客

http://hiroz.cn/2015/01/03/deploy-ghost/

---

从今天开始写博客啦,按照惯例,我还是先说一句:Hello World!。 首先我们来认识一下题目里边的Ghost是什么:

Ghost 是基于 Node.js 的开源博客平台,由前 WordPress UI 部门主管 John O’Nolan 和 WordPress 开发人员 Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作发布平台。

简而言之就是,相较于非常著名且功能强大复杂的WordPressGhost是一个易扩展、易阅读的轻量级博客平台,基于Node.js开发,致力于提供更纯粹的博客体验的平台。当然啦,对于我这样的初级码农来说,比起功能繁多的WordPress,这个最大的优点就是便于学习CMS类型的网站构建啦,而且比基于Php的WordPress更有逼格。要知道,生命在于折腾。
废话不多说了,开始吧。

编译安装 node.js

为什么要编译安装 node.js? 我用的环境是 Ubuntu 12.04,在原生的apt源中,node的版本是0.6.x,这是一个非常非常古老的版本,缺失了非常多重要的特性,因此需要用编译安装来安装最新的版本。Node.js 下载地址
通过ssh连上主机后,确保你的主机上有安装gcc、wget,然后输入以下命令:
cd /tmp

wget http://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x64.tar.gz

tar -xzvf node-v0.10.35-linux-x64.tar.gz

cd node-v0.10.35-linux-x64

./configure

make

sudo make install

[/code]
安装好之后,可以使用以下命令检查是否安装完成,显示如下结果说明安装成功:
$ node -v

v0.10.35


$ npm -v

1.4.28

[/code]

安装 Ghost

在开始安装Ghost之前要说两句,首先Ghost的官方网站实在是慢得扣shi,所以有几个备用的镜像地址可供选择:

Ghost 官网:这个就不多废话辣~(≧▽≦)/~啦啦啦
Ghost中国:可以去这里找找链接,这里是非常快的,建议使用这个。
Ghost Github 托管库:这个库也非常慢

准备好Ghost的安装包的下载链接之后,就要开始安装了:

下载ghost

sudo apt-get install unzip

cd ~

wget http://dl.ghostchina.com/Ghost-0.5.6.zip

unzip Ghost-0.5.6.zip -d ghost

cd ghost

vi config.js

[/code]

配置数据库

在配置文件中有这么一段
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'

}

}

[/code]
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

},

[/code]

完成安装

npm install

[/code]

配置 Nginx

事实上已经开始运行了,不过我额外增加一个Nginx反向代理。
sudo apt-get install nginx

cd /etc/nginx/sites-available

sudo cp default ghost

cd /etc/nginx/sites-enabled

sudo ln -s ../sites-available/ghost ./ghost

sudo vi ghost

[/code]
在配置文件中,把yourdomain.com换成自己的域名:
server {

listen *:80;         # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea

server_name yourdomain.com default_server;     # e.g., server_name source.example.com;

server_tokens off;     # don't show the version number, a security best practice

client_max_body_size 20m;


location / {

proxy_pass http://127.0.0.1:2368;[/code] 
}


error_page 502 /502.html;

}

[/code]

跑起来

cd ~/ghost

npm start --production

[/code]
后台运行
cd ~/ghost

nohup npm start --production > log.out 2>&1 &


[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: