ruby-on-rails – 无法绑定到端口80,但在当前shell上运行没有任何问题

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 无法绑定到端口80,但在当前shell上运行没有任何问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试运行“cap production unicorn:start”时出现以下错误
F,[2013-07-12T04:36:18.134045 #28998] FATAL -- : error adding listener addr=0.0.0.0:80
/home/ec2-user/apps/foo_prod/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/socket_helper.rb:147:in `initialize': Permission denied - bind(2) (Errno::EACCES)

手动运行以下命令,无任何问题.这可能是什么问题?

rvmsudo unicorn_rails -c config/unicorn/production.rb -D --env production

解决方法

@Iuri G.的回答为您提供理性和可能的​​解决方案.

我有另一个建议,除非你有非常有说服力的理由,运行Unicorn与端口80,更改为更高端口(> 1024),如3000.这将解决您的问题.

如果这是暴露给公众的应用程序,那么太容易淹没Unicorn并使应用程序对最终用户不可用.在这种情况下,请将Unicorn放在代理(如Nginx)之后.代理将在端口80和独角兽在较高的端口.

猜你在找的Ruby相关文章