将博客/ CMS集成到Heroku Rails应用程序中

Jos*_*ton 5 ruby-on-rails heroku ruby-on-rails-3

我一直在寻找各种选项,将博客集成到我在Heroku上托管的Rails应用程序中.Nesta看起来很有前途,但因为它直接在Git中管理博客文章每次发布帖子时都会有几分钟的停机时间(由于Heroku的slug编译).看来我在这一点上错了.

有没有满足以下所有要求的选项?

  1. 与Heroku的只读文件系统兼容.
  2. 可以集成到现有的Rails 3应用程序中.
  3. 有一个Web界面,所以每次发布帖子时我都不会重新编译.

Ner*_*ian 4

我使用 Jekyll、Rack 和 Heroku 来支持我的博客。它对我来说效果很好。

http://nerian.es/2011/07/13/new-website.html

您可以在这里查看代码:

https://github.com/Nerian/nerian.github.com

我想说的是,当你在 Heroku 中更新 slug 时,不会造成停机。在整个过程完成之前,应用程序不会重新启动。然后距离准备就绪仅几秒钟。

你可以尝试一下。将新版本推送到您的 heroku slug 并在您的博客中打开许多浏览器选项卡。您会发现停机时间几乎为 0。

另一种选择是使用面向服务的设计来解决这个问题。不要将博客引擎集成到当前的 Rails 应用程序中,而是构建一个独立的博客应用程序。所以你的架构看起来像这样:

  • www.yourapp.com -> 由您当前的 Rails 应用程序提供服务。
  • blog.yourapp.com -> 由 Jekyll 或 Sinatra 在不同的 Heroku 部署中提供服务。

这样,当您更新博客时,您的整个网站就可以继续运行。您不会丢失一秒钟的重要服务活动。

编辑:

如果您想使用当前域内的端点,而不是子域,您可以将 /blog 与为您的博客提供服务的机架应用程序相匹配。

http://edgeguides.rubyonrails.org/routing.html#routing-to-rack-applications