【发布时间】:2013-10-04 21:05:20
【问题描述】:
我正在尝试找到一种方法将我的生产 Rails 服务器绑定到端口 80,而不必以 root 权限运行整个服务器。我的问题与“Is there a way for non-root processes to bind to "privileged" ports (<1024) on Linux?”基本相同,只是我需要用 Rails 来做。目前,关于我引用的问题的前两个答案要么要求我向 Ruby 解释器授予 CAP_NET_BIND_SERVICE 权限(可能不是一个好主意),要么在启动服务器后放弃 root 权限(I'm not sure is possible with Ruby)。有什么想法吗?
【问题讨论】:
-
您真正想要这样做的几率非常低。 Thin、Mongrel、Puma、Unicorn 或其他任何应该在正常使用模式下的非 Ruby 服务器后面。见this question。
-
是的,这是我第一次真正尝试自己部署生产应用程序,而无需其他人帮助我设置服务器,或者像 Heroku 这样的 PaaS;所以很有可能我不知道我想要什么。如果您愿意发布详细的答案,建议在端口 80 上绑定 Thin 的替代方法(如 Jim 在评论中所说的 nginx),我会接受这是一个有效的答案。
标签: ruby-on-rails ruby linux thin