BAE上Ghost博客安装实践

百度推出BAE应用引擎已经很长时间,之前了解过,但是一直没有使用。之前阿里推出ACE的时候折腾过一阵子,但是当时技术知识太少。后来ACE关闭,现在BAE是国内唯一支持NodeJS的应用引擎了。有兴趣的也可以去试一下。你可以用它创建网站或博客,并且价格更便宜,静态的服务器一天只需一毛钱。

昨天折腾安装完Wordpress后,又开始在BAE上折腾Ghost Blog系统。折腾了快一天,到今天,终于安装完成可以访问了,http://ghost.dhumedia.cn/ 。以下是我的安装实践经历,供大家参考。

先贴一张博客截图。

[caption id=”attachment_17” align=”alignleft” width=”1009”]ghost blog截图 ghost blog截图[/caption]

准备条件:

  1. 去百度开放云平台开通开发者账号;
  2. 进入开放平台管理控制台,然后进入BAE服务;
  3. 在BAE基础版进入添加部署选项,如果不缺钱可以用BAE专业版。
    添加BAE应用:

  4. 模板类型选所有模板;

  5. 模板场景选所有,然后下面选自定义。因为Ghost是nodejs的,提供的模板都是php的;
  6. 部署信息,域名和应用名称填写你喜欢的名字,之后就是你的百度应用的二级域名;
  7. 类型选nodejs-0.10-21-web或nodejs-4.2.6-web,千万不要选nodejs-4.4.4-web,ghost目前还不支持nodejs-4.2以上的版本;
  8. 代码版本工具选你习惯用的,你可以选择git;
  9. 执行套餐必须选256M以上,ghost需要内存至少256M;
  10. 剩下的磁盘带宽和执行单元选最小的就够了。
    开始安装:

  11. 在本地建立项目仓库文件夹,用git拉取你的BAE应用代码;

  12. 从ghost官网下载ghost安装源码,最好下完整版的带node_module的,因为npm镜像在中国,网络实在不太稳定;
  13. 将下载的代码解压到你的项目根目录,完整的解压完有160M左右;
  14. 修改package.json文件,将dependencies全部清空,因为依赖都已经在node_module里,不用在安装了。script里面只留下start:index.js, preinstall和test都去掉;
  15. 将config.example.js的端口2368或2369都改到18080,因为BAE只允许我们使用18080端口;
  16. 开启git bash命令行,运行git config –global http.postBuffer 157286400,因为我们要上传node_modules,文件太大。git默认限制上传大小;
  17. 现在可以commit你的项目然后push了;
    push完成之后就可以在BAE管理控制台发布你的应用了,初次发布时间很长,发布成功后,你就可以访问了。

需要注意的坑:

  1. nodejs的版本一定要在4.2及以下,要不然其他的可以,最后发现node版本不对就太坑了,我就这样被坑了一整天,然后重新添加应用换版本;
  2. 最好在本地把node_modules都推送上去,BAE的npm下载太慢了,很容易导致超时发布失败;
  3. 与第二点相关,node_modules推送上去的话,package.json里的dependencies最好都去掉,npm就不用再去拉取依赖的模块了,要不然也很影响发布时间;
  4. package.json里的script里只能留下”start”:”index.js”,因为BAE只识别start:XXX.js,然后截取start和js之间的名字作为启动应用的入口。后面的.js不能少;
  5. config.js里的端口不要忘了改;
  6. 要上传node_modules的话,postBuffer一定要配置在160M左右,要不然git没法push成功。
    我安装碰到的问题就这些,如果你也要试一下,希望能将我的经历提供给你借鉴,希望对你有所帮助,祝你安装成功。如果还有其他的问题,请在下面留言:)