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

Ruby on rails 将博客/CMS集成到Heroku Rails应用程序中,ruby-on-rails,ruby-on-rails-3,heroku,Ruby On Rails,Ruby On Rails 3,Heroku,我一直在寻找各种方法将博客集成到我在Heroku上托管的Rails应用程序中。Nesta看起来很有前途,但由于它直接在Git中管理博客文章,所以每次发布一篇文章时,我都会有几分钟的停机时间(由于Heroku的slug编译)。看来我在这一点上错了 是否有满足以下所有要求的选项 与Heroku的只读文件系统兼容 可以集成到现有的Rails 3应用程序中 有一个web界面,所以我不会每次发布帖子都重新编译 请尝试在Rails应用程序中作为引擎运行的Refinery CMS: 我用Jekyll、Rack

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

是否有满足以下所有要求的选项

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

  • 请尝试在Rails应用程序中作为引擎运行的Refinery CMS:


    我用Jekyll、Rack和Heroku为我的博客提供动力。它对我很有效

    您可以在此处查看代码:

    我要说的是,在Heroku中更新slug时,没有停机时间。在整个过程完成之前,不会重新启动应用程序。然后就是准备就绪前的几秒钟

    你可以试试。向heroku slug推送一个新版本,并在您的博客上打开许多浏览器选项卡。您会注意到停机时间接近0

    另一种选择是使用面向服务的设计来解决这个问题。不要在当前rails应用程序中集成博客引擎,而是构建一个独立的博客应用程序。因此,您的体系结构如下所示:

    • www.yourapp.com->由您当前的Rails应用程序提供服务
    • blog.yourapp.com->由Jekyll或Sinatra以不同的Heroku部署提供服务
    这样,当你更新你的博客时,你的整个网站可以继续运行。你不会损失一秒钟的重要服务活动

    编辑:

    如果要在当前域中使用端点,可以将/blog与服务于blog的机架应用程序相匹配,而不是子域


    就我个人而言,这些年来,我与炼油厂的关系一直不太愉快。谢谢你,尼瑞安。很高兴知道,在新编译的slug准备就绪之前,不会有任何停机时间。这让我更容易使用Git管理的博客,比如Jekyll或Nesta.BTW,添加博客子域是一个好主意,但为了SEO目的,我尝试将所有内容保留在主应用程序域上。