概述
小伙伴们想用ghost博客系统的苦于国内找不到好的nodejs服务器,而国外的vps之类又会有各种问题,在此向各位推荐BAE.BAE的执行单元环境根据BAE本地开发环境来推测应该是Ubuntu server 12.04LTS,想深入研究的朋友可以自己下载BAE本地开发环境来研究,不罗嗦了下面开始介绍如何在BAE上部署Ghost博客系统。
部署步骤
1、部署前准备:
首先当然是安装Node.js,Node.js官方下载 ,接下来是下载 Ghost博客系统 ,nodejs安装好然后Ghost解压,当然要有百度的开发者帐号,到BAE云平台上面进入开发者服务管理,创建应用获取到svn地址(或git),相信大家这方面不需要指导了,接下来开始,首先要把BAE上的空白工程下载下来,里面的app.conf和server.js需要动,然后Ghost博客系统内的文件直接解压到这个目录里,有提示复制覆盖的选覆盖就好。
2、配置属性
属性配置在Ghost博客来说很简单,只是部署在BAE上面有写需要注意 ,按照官方的说明文档,config.sample.js中的配置需要做一些更改:
- 端口2368和2369都要改成18080(因为BAE环境中,lighttpd服务和Node.js server之间的通讯端口是18080)
- 由于sqlite3的部分文件存储在亚马逊的云存储上,而BAE无法连接到,因此将其放到了百度云存储上。另外,BAE提供的是临时文件系统,sqlite3存储在本地文件,发生执行单元迁移时文件会丢失,可以使用MySQL替换sqlite,所以配置节中需要将配置改为使MySQL数据库(这里使用BAE提供的共享mysql就可以了)。
- 添加七牛云存储,彻底解决BAE上静态文件的问题,推荐去Ghost中文网下载七牛云版(需要七牛云账号,请自行注册),加入七牛云存储的配置。
配置文件production
和 development
段修改如下(目前还未找到办法给 BAE 配置 NODE_ENV 环境变量,所以需要将 development
和 production
段全部配置成一样的信息):
// ### Production
// When running Ghost in the wild, use the production environment
// Configure your URL and mail settings here
production: {
database: {
client: 'mysql',
connection: {
host: 'sqld.duapp.com',
port: 4050,
user: '这里填入你的ak', //your ak
password: '这里填入你的sk', //your sk
database: '这里填入你的数据库名',//your dbname
charset: 'utf8'
},
debug: false
},
server: {
// Host to be passed to node's `net.Server#listen()`
host: '127.0.0.1',
// Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
port: '18080'
}
qiniu: {
bucketname: '这里是七牛云的目录名',
ACCESS_KEY: '这里填入七牛云的ak',
SECRET_KEY: '这里填入七牛云的sk',
root: '/image/',
prefix: 'http://ghostimg.qiniudn.com'
}
}
将此配置信息复制一份,替换 development
段。
3、安装依赖
根据本人的使用,BAE上部署Ghost需要在本地安装好包的依赖,而不是像官方文档上的方式,首先需要注意的一点是,这里我们已经使用mysql,那么在包的依赖中要删掉sqlite3的配置节.然后在本地运行npm install --production命令在本地安装好包的依赖。
然后用BAE提供的mysql.tgz替换node_modules中的mysql。
4、修改 package.json
根据BAE环境的要求,需要删除 package.json
中的 dependencies
、optionalDependencie
s 和 devDependencies
项,最后文件内容如下:
{
"name" : "ghost",
"version" : "0.4.2",
"description" : "Just a blogging platform.",
"author" : "Ghost Foundation",
"homepage" : "http://ghost.org",
"keywords" : [
"ghost",
"blog",
"cms"
],
"repository" : {
"type": "git",
"url": "git://github.com/TryGhost/Ghost.git"
},
"bugs" : "https://github.com/TryGhost/Ghost/issues",
"contributors": "https://github.com/TryGhost/Ghost/graphs/contributors",
"licenses" : [
{
"type": "MIT",
"url": "https://raw.github.com/TryGhost/Ghost/master/LICENSE"
}
],
"main": "./core/index",
"scripts": {
"start": "node index.js",
"test": "./node_modules/.bin/grunt validate --verbose"
},
"engines": {
"node": "~0.10.0"
},
"engineStrict": true,
}
结束
到此时,所有的安装和配置基本完成,直接使用svn或者git将本地文件全部提交至BAE,然后发布就可以了,可以体验自己的Ghost博客了!说点题外话,Ghost博客到现在的0.4.2的版本还不是很完善,功能上还是很简单,希望与大家多多交流.
参考资料
注: 原文内容有部分错误,在这里一并改正了。
原文地址:Ghost+BAE+七牛云存储教程