代码之家  ›  专栏  ›  技术社区  ›  brad

在JRuby Rack应用程序中使用Tomcat有哪些选择?

  •  3
  • brad  · 技术社区  · 14 年前

    我们正在为一个JRuby on Rails应用程序寻找一些替代我们基于Tomcat的堆栈的方法。

    到目前为止,我已经读到了特立尼达宝石,实际上是基于Tomcat的,还有玻璃鱼宝石。但是,我不能为这些找到生产实例。这两种方法似乎都允许您在命令行上运行该命令,这对本地开发人员来说很好,但是人们如何在生产中使用这些解决方案呢?

    虽然玻璃鱼宝石因其体积小、速度快而备受推崇,但如今它似乎没有太多的作用。

    有没有人有其他的设置,他们发现是性能,健壮和易于部署的JRuby on Rails应用程序?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Scott    14 年前

    特立尼达宝石/嵌入式Tomcat

    如果您深入了解Github上的特立尼达宝石页面,可以找到各种特立尼达扩展宝石的链接。这里有一个专门为生产提供的守护宝石:

    http://github.com/calavera/trinidad_daemon

    如果您执行安装脚本并回答一些简单的问题,它会为您的Ubuntu或OSX机器生成一个定制的init脚本。这就是你所需要的。

    wiki中还有一些初始化脚本示例:

    http://github.com/calavera/trinidad_daemon_extension/wiki/init.d-scripts

    请注意,用于rails.threadsafe!模式,在trinidad.yml配置文件中,min和max jruby运行时都设置为1。

    我用Nginx前端在Ubuntu上工作,工作得很好。

    所以是的,这意味着您可以使用命令行来停止和启动应用程序服务器,但是在系统启动时也会自动调用init脚本。wiki还包括一些capistrano部署脚本示例,因此您甚至可以让服务器从您自己的机器停止和启动。

    注意:有两个守护进程扩展。我链接到的是新的,它使用了更好的后台监控库。

    玻璃鱼宝石

    你说得对,玻璃鱼宝石现在没有得到那么多的爱,但我敢说事情会好转的。在jruby 1.5+上运行它有几个问题,因为gem没有跟上jruby中的变化,但是我在这里写了如何解决这些问题: http://www.scottlowe.eu/deploying-rails-3-with-jruby-daemonized-glass

    自从写了Glassfish的帖子,特立尼达已经获得了可靠地进行守护的能力,所以它可能是今天要走的更平滑的道路。

        2
  •  0
  •   user345566    14 年前

    对我来说,在Java世界里,码头总是很好用。一个快速的谷歌搜索就可以找到一个JettyRails的宝石: http://jetty-rails.rubyforge.org/