Rails Rails 新手求助,如何两个 Rails 共用一个端口?

angryfrog · 2013年09月06日 · 最后由 libuchao 回复于 2013年09月07日 · 2837 次阅读

我在服务器上装了 gitlab 和 redmine。 现在两个项目是分别启动的,为了防止端口冲突,我起了 3000 和 3001 两个进程。

但我觉得这样比较麻烦。有什么办法只启动一个进程使用一个端口来同时 run 这两个项目?

对 rails 不熟悉,以前是搞 php 的。我能想到的办法就是用 nginx 在前面做反向代理,这样就可以给两个项目绑定不同的域名了。

不知只用 ruby 和 rails 的情况下有什么比较文艺的办法解决这个问题? 貌似必须得给两个项目分别绑定域名,否则一个 ip 不能访问两个不同的项目。rails 自己的 server 没法做绑定域名等工作吧?

也许还有别的方法.. 但是应该没有比前面加 nginx 更好的方法了

nginx 代理 +1 现在生产环境下的 Railsi 项目一般都是用 apache 或者 nginx 做代理了

#1 楼 @blacktulip 谢谢您的解答,这么看来一个服务器上如果要跑多个 rails 项目,必须得不停的开新进程 + 占用新端口才行。

#3 楼 @angryfrog 是啊,那怕啥,反正端口有六万多个..

不要犹豫..这是正确的方法。不过开端口的时候请绑定 127.0.0.1 或者直接用 unix socket. 不要把应用的暴露给外部..

Apache + Passenger 做虚拟主机就可以啦,全部用 80 端口啦~~~~

#7 楼 @wuwx 我就是这样干的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号