【问题标题】:How to specify a web address to a rails application?如何为 Rails 应用程序指定网址?
【发布时间】:2012-11-07 18:45:12
【问题描述】:

我使用的是 Ubuntu 12.04,并且我有一个 Rails 应用程序,我想在启动时启动它。另外,如果我从控制台启动服务器,例如

cd <path of the application>
rails s -p 3000

我必须保持控制台打开,否则应用程序将在我结束终端时立即结束。

第二次访问应用程序我必须访问 localhost:3000。我希望在浏览器中使用 localhost/myapp 之类的正确名称或仅使用 myapp 访问它。

首先,这可能吗?我该怎么做?

PS:我已经有一些在 Apache 上运行的 PHP 应用程序。我不想乱用默认的 80 / 8080 端口。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    编辑/etc/hosts添加

    127.0.0.1 myapp

    另外,如果您不想在浏览器中指定 3000 端口,请以 rails s -p 80 开头。这可能会干扰已经在监听 80 端口的 Apache 进程。

    编辑:使其与 Apache 一起工作:

    让 Rails 应用程序在 3000 端口上并为 Apache 启用 mod proxy,以便将 ProxyPass 请求传入 myapp 主机。

    这里有几个例子:httpd.apache.org/docs/2.0/mod/mod_proxy.html

    【讨论】:

    • 谢谢,但我想我之前并不清楚,我不想弄乱 80 或 8080,因为我已经在 Apache 上运行了一些 PHP 应用程序
    • 确实,让 rails app 在 3000 端口上并启用 Apache 的 mod 代理,以便 ProxyPass 请求传入“myapp”主机。这里有几个例子:httpd.apache.org/docs/2.0/mod/mod_proxy.html
    • 您能否将评论添加到答案中,以供将来的访问者使用,以便我接受:)
    • 完成 ;) 很高兴看到它对您有所帮助!
    【解决方案2】:

    您可以为此使用pow。它是适用于 Mac OS X 的零配置机架服务器。

    ** 编辑 **

    Prax 是 Linux 操作系统的替代品

    【讨论】:

      【解决方案3】:

      如果您不想编辑主机文件,也可以使用localtest.me。只需使用 example.localtest.me:3000www.localtest.me:3000 等任何子域访问您的网站。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-01
        • 2011-01-12
        • 2013-01-18
        相关资源
        最近更新 更多