繁体   English   中英

Rails部署,捆绑exec rails与Nginx和Passenger

[英]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有什么好处和坏处?

  1. Nginx和passenger将帮助实现负载平衡,在这种情况下,您可以将更多的passenger转移到服务器。
  2. 如果乘客死亡,nginx将开始新的乘客。
  3. 对于部署nginx和passenger来说,这是个好方法,使用“ rails s”和端口号启动服务器对开发不利于部署。
    1. ngs提供Https和其他更多选项。
    2. Web服务器和应用程序服务器是部署的良好组合。

rails s ,在生产环境中使用NGINXPassenger具有很多优势。

如果您正在使用标准的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM