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

同步发表在我的博客

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,然后输入以下命令:

 
 
  1. cd /tmp
  2. wget http://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x64.tar.gz
  3. tar -xzvf node-v0.10.35-linux-x64.tar.gz
  4. cd node-v0.10.35-linux-x64
  5. ./configure
  6. make
  7. sudo make install

安装好之后,可以使用以下命令检查是否安装完成,显示如下结果说明安装成功:

 
 
  1. $ node -v
  2. v0.10.35
  3. $ npm -v
  4. 1.4.28

安装 Ghost

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

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

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

  • 下载ghost
 
 
  1. sudo apt-get install unzip
  2. cd ~
  3. wget http://dl.ghostchina.com/Ghost-0.5.6.zip
  4. unzip Ghost-0.5.6.zip -d ghost
  5. cd ghost
  6. vi config.js
  • 配置数据库

在配置文件中有这么一段

 
 
  1. production: {
  2. url: 'http://my-ghost-blog.com',
  3. mail: {},
  4. database: {
  5. client: 'sqlite3',
  6. onnection: {
  7. filename: path.join(__dirname, '/content/data/ghost.db')
  8. },
  9. debug: false
  10. },
  11. server: {
  12. host: '127.0.0.1',
  13. port: '2368'
  14. }
  15. }

SQLite3需要额外装依赖包,不过最好换成MySQL数据库。怎么安装MySQL这里我就不重复叙述了,我用的阿里云的RDS,这个是非常方便的,本机上就不用配置MySQL了,节约本来就不多的CPU资源。现在,把database内的一段修改为自己的:

 
 
  1. database: {
  2. client: 'mysql',
  3. onnection: {
  4. host : 'xxxxx12345.mysql.rds.aliyuncs.com',
  5. user : 'test',
  6. password : '12345678',
  7. database : 'ghost',
  8. charset : 'utf8'
  9. },
  10. debug: false
  11. },
  • 完成安装
 
 
  1. npm install

配置 Nginx

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

 
 
  1. sudo apt-get install nginx
  2. cd /etc/nginx/sites-available
  3. sudo cp default ghost
  4. cd /etc/nginx/sites-enabled
  5. sudo ln -s ../sites-available/ghost ./ghost
  6. sudo vi ghost

在配置文件中,把yourdomain.com换成自己的域名:

 
 
  1. server {
  2. listen *:80; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
  3. server_name yourdomain.com default_server; # e.g., server_name source.example.com;
  4. server_tokens off; # don't show the version number, a security best practice
  5. client_max_body_size 20m;
  6. location / {
  7. proxy_pass http://127.0.0.1:2368;
  8. }
  9. error_page 502 /502.html;
  10. }

跑起来

 
 
  1. cd ~/ghost
  2. npm start --production

后台运行

 
 
  1. cd ~/ghost
  2. nohup npm start --production > log.out 2>&1 &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值