PersonLab 现在可以顺利的部署在 Heroku 上面了

最近发现 Heroku 的访问速度有了很大的提升,感觉比我买的哪个美国 VPS 还要快一些。

Heroku 类似 Google AppEngine 一样,是基本云的主机服务,在它上面可以很容易扩充服务器性能。AppEngine 是基本 Python 的,而 Heroku 是 Ruby 的,当然也可以运行 Rails(包括 2.x 和 3.0),也是有提供免费服务的,虽然没有像 AppEngine 哪么多的空间,但对于一个个人博客来说还是足够了。

我今晚的时候将 PersonLab 做了一些调整,花了好几个小时终于可以正常的运行在 Heroku 上面了。其实主要问题还是因为 Heroku 的文件系统是只读的(只有 tmp 和 log 目录可写),也就是说 caches_page, JS/CSS 合并缓存这类的功能都将无法写入。于是花了很长的时间修正这个问题。其实刚开始的时候还有另外一个中文导致的编码错误(Heroku上面最高只有 Ruby 1.9.1,这个貌似对这个有问题),最后还是换回来了 REE 版的 1.8.7 +  Rails 3.0。

最后多出来了一个新的针对 Heroku + Rails3.0,Javascript/CSS 文件整合的小插件(这个是从别人哪儿修改过来的,由于弄的时候修改的太多,没能用 Fork 的方式建立出来):http://github.com/huacnlee/heroku_asset_cacher

然后是将旧的 MySQL 导入到 Heroku 上面,这个过程还是挺容的,当然你要以前有在用 PersonLab(哈哈哈)。

终于,终于,我把它弄好了,然后 Push 到了 Github 上面,命一个新版本 0.5,并删除了 Rails3 的分支(还是因为修改的时候文件太多,不少心把 Rails2的 master 分支给复盖了…)。

如何安装 PersonLab 到 Heroku

  1. 注册一个 Heroku 的账号(用我的邀请推荐一下): http://api.heroku.com/invitation/accept/5d4c3ac8a5
  2. 然后作下面的步骤,环境是 Linux or Mac:
  3. 如果没有出错,哪么你就可以使用了。
如果你想有一个博客(有独立域名哪种),但又不想维护,哪么你可以试试 PersonLab。

如果你对这个项目感兴,可以在 Github: http://github.com/huacnlee/personlab  上面 Fork 它,并参与这个项目的开发中。

BTW. Heroku 上面绑定域名是需要关联信用卡以后才可以的,另外它还会收 $1 的绑定费用,不知道这个是不是拿来做为信用卡确认的。完了以后,按着 Heroku 上面的说明,修改域名解析就可以了。