Rails 部署,bundle exec rails s vs Nginx 和 Passenger
Rails deployment, bundle exec rails s vs Nginx and Passenger
我最近将 rails 应用程序部署到 AWS 上的 ec2 实例。这是我第一次做这样的部署。
我四处阅读,大多数消息来源似乎都建议 rails 使用 Nginx 和 Passenger 进行部署。
现在我 运行 bundle exec rails s -p 80 -b 0.0.0.0
和我的应用程序 运行 当我去我的 ec2 url 时非常棒。
我想知道 运行ning bundle exec rails s -p 80 -b 0.0.0.0
VS 使用 Nginx 和 Passenger 的优点和缺点是什么?
- Nginx 和 passenger 将有助于负载平衡,您可以在其中减少 passenger 对服务器的请求。
- 如果 passenger 死亡,nginx 将启动新的 passenger。
- 对于部署 nginx 和 passenger 是很好的方式,使用 'rails s' 和端口号启动服务器有利于开发而不是部署。
- Https 和其他更多选项可用于 nginx。
- Web 服务器和应用程序服务器是部署的良好组合。
与 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 所需的一组选项自动启动服务器。 Passenger 提供了几种您可以使用的配置,例如,maximum/minimum 您可以拥有的应用程序和 RAM 限制的分叉数量 processes/threads。访问 https://www.phusionpassenger.com/library/config/nginx/reference/ 以获得所有这些人的列表。它还可以在您的应用程序崩溃时重新启动它,这也是一个很大的好处。
我最近将 rails 应用程序部署到 AWS 上的 ec2 实例。这是我第一次做这样的部署。
我四处阅读,大多数消息来源似乎都建议 rails 使用 Nginx 和 Passenger 进行部署。
现在我 运行 bundle exec rails s -p 80 -b 0.0.0.0
和我的应用程序 运行 当我去我的 ec2 url 时非常棒。
我想知道 运行ning bundle exec rails s -p 80 -b 0.0.0.0
VS 使用 Nginx 和 Passenger 的优点和缺点是什么?
- Nginx 和 passenger 将有助于负载平衡,您可以在其中减少 passenger 对服务器的请求。
- 如果 passenger 死亡,nginx 将启动新的 passenger。
- 对于部署 nginx 和 passenger 是很好的方式,使用 'rails s' 和端口号启动服务器有利于开发而不是部署。
- Https 和其他更多选项可用于 nginx。
- Web 服务器和应用程序服务器是部署的良好组合。
与 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 所需的一组选项自动启动服务器。 Passenger 提供了几种您可以使用的配置,例如,maximum/minimum 您可以拥有的应用程序和 RAM 限制的分叉数量 processes/threads。访问 https://www.phusionpassenger.com/library/config/nginx/reference/ 以获得所有这些人的列表。它还可以在您的应用程序崩溃时重新启动它,这也是一个很大的好处。