【问题标题】:Deploy Ruby on Rails - Development Environment部署 Ruby on Rails - 开发环境
【发布时间】:2011-05-17 00:48:36
【问题描述】:

我正在 RoR 和 OSX 10.6.4 工作站上开发一个小型应用程序,我正在寻找两方面的指导:-

  1. 如何在本地与其他人共享我的应用程序,以便团队中的其他人可以访问我的本地网络服务器(Mongrel?),以便在我将其发布到生产环境之前查看/使用我的系统。从我的默认安装中,我可以使用它,其他人似乎都无法访问它——甚至不能从本地运行的 http://:3000 中访问——所以我有点困惑。
  2. 关于如何最好地将它部署到生产网络服务器上的建议,假设我部署到 Linux 上。我应该使用什么网络服务器,是否有说明?

提前致谢。网络和网络服务器不是一个强大的套件:-)

干杯

B

【问题讨论】:

    标签: ruby-on-rails ruby macos webserver mongrel


    【解决方案1】:

    开发 Mongrel 默认只能通过 localhost 访问。为了从外部可见,您需要要求它绑定到您的外部 IP 地址。假设你的 IP 地址是 10.0.0.5,你需要这样做:

    script/server -b 10.0.0.5
    

    对于 Linux 上的部署,最简单的方法可能是使用 Passenger,以及 Apache 或 nginx 作为 Web 服务器,无论您最喜欢哪种(如果您没有偏好,请使用 Apache)。可以在here 找到文档。

    【讨论】:

    • 嗯...由于某种原因,这似乎不起作用。我的 IP 地址是 192.168.0.6,但是当我执行 script/server -b 192.168.0.6 时,我无法从网络上的另一台计算机上的 192.168.0.6:3000 访问它……奇怪……
    【解决方案2】:

    为什么其他人不能通过http://your.ip:3000/ 访问它? ./script/server mongrel 默认监听 0.0.0.0。 0.0.0.0 代表监听 Linux 中的每个接口。

    【讨论】:

    • 不知道为什么..这就是为什么我很困惑!
    • 请给我看:netstat -ant | grep 3000