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
- 注册一个 Heroku 的账号 (用我的邀请推荐一下): http://api.heroku.com/invitation/accept/5d4c3ac8a5
- 然后作下面的步骤,环境是 Linux or Mac:
- 如果没有出错,哪么你就可以使用了。