[英]Rails deployment, bundle exec rails s vs Nginx and Passenger
我最近将Rails应用程序部署到AWS上的ec2实例。 这是我第一次进行这样的部署。
我在四处阅读,大多数消息似乎都建议与Nginx和Passenger一起使用Rails。
现在我运行bundle exec rails s -p 80 -b 0.0.0.0
,当我转到ec2 url时,我的应用程序运行良好。
我想知道仅使用Nginx和Passenger运行bundle exec rails s -p 80 -b 0.0.0.0
VS有什么好处和坏处?
与rails s
,在生产环境中使用NGINX
和Passenger
具有很多优势。
如果您正在使用标准的WEBrick::HTTPServer
用于rails s
,您会注意到性能有所提高,因为NGINX和Passenger已针对此类事情进行了高度优化。
NGINX提供了几个配置文件,您可以在其中控制虚拟主机并将其用作反向代理服务器( http://nginx.org/en/docs/beginners_guide.html )。 服务静态资产非常快。 如上所述-它提供了多个选项(负载平衡,gzip选项,SSL和非安全服务器块设置,缓存,代理请求)。
将NGINX与Passenger一起使用非常高效,因为您可以在NGINX配置中包括Passenger,以使用Passenger需要的一组选项自动启动服务器。 乘客提供了几种可以使用的配置,例如,应用程序可能具有的最大/最小分叉进程/线程数和RAM限制。 访问https://www.phusionpassenger.com/library/config/nginx/reference/以获取所有列表。 它也可以在崩溃时重新启动您的应用程序,这也是一个很大的好处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.