【问题标题】:How do I setup my Rails Apps to Run through Phusion Passenger?如何设置我的 Rails 应用程序以通过 Phusion Passenger 运行?
【发布时间】:2010-12-10 07:58:47
【问题描述】:

我有以下疑问:

我在 Rails+MySQL 中有一个应用程序,我想用 Apache + Passenger 运行它,我都安装了,但是当我运行 ./script/server 时,我的应用程序开始用 WebRick 运行,如何更改它以与Passenger 和Apache 一起工作?

P.S:我使用的是 Ubuntu 9.04 Jaunty Jackalope,请考虑我是新手这一事实 =)

【问题讨论】:

  • 这不应该是服务器故障吗?

标签: ruby-on-rails ruby apache passenger


【解决方案1】:

如果安装了乘客(并且模块在 apache 中),您只需将 Apache VHost 的 DocumentRoot 指向您的公共目录即可。剩下的就交给乘客吧。

没有单独的服务器来启动,应用程序直接从 Apache 运行(就像 mod_php,但没有 cooties)。

more detailed explanation is available here

【讨论】:

    【解决方案2】:

    你需要把它放在你告诉 Apache 提供服务的地方。脚本/服务器将不再参与。

    【讨论】:

    • 安装Passenger 时,您会得到非常明确的指示。如果您没有阅读它们,那么重复它们不太可能有效地利用时间。
    【解决方案3】:

    Passenger 更像是一种永远在线的设置。您不要使用script/server 来启动它,因为如果您不主动使用它,它会自动关闭,并在您再次开始使用它时重新激活。我个人有一个/etc/hosts 条目,它将myapp.local 映射到127.0.0.1,然后我使用Apache 的虚拟主机来确定要启动哪个Rails 应用程序。

    <VirtualHost *:80>
      ServerName myapp.local
      DocumentRoot /apps/myapp/public
      RailsEnv development
    </VirtualHost>
    

    【讨论】:

      【解决方案4】:

      如果您在自己的盒子(即开发盒子)上运行多个应用程序,我的一个朋友有一个可以帮助编写 /etc/hosts 的 gem,名为 Ghost

      你可以像这样使用它:

      sudo ghost add domain.local
      

      现在在您的浏览器中输入 domain.local 将指向 127.0.0.1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多