ruby-on-rails - 您能否像在 Unicorn 上重新加载 Rails 应用程序一样,无缝地在Passenger 上重新加载Rails 应用程序?

标签 ruby-on-rails passenger unicorn

使用 Unicorn,您可以使用 kill -USR2 [master process] 重新启动和重新加载 Rails 应用程序,它不会立即终止进程,而是在后台启动一个新的主进程+从进程。当新的master准备好后,你可以用kill -QUIT关闭旧的master .这使您可以重新启动您的网站,而不会让任何访问者注意到请求处理速度变慢。

但是对于Passenger,您可以使用touch tmp/restart.txt 重新启动Rails 应用程序,据我所知,这会导致 Rails 应用程序在重新启动 Rails 应用程序所需的几秒钟内无响应。

有没有办法既可以使用Passenger,又可以无缝重启Rails 应用程序?

最佳答案

滚动重启在 Phusion Passenger Enterprise 中可用.

这就是 klochner 所说的“授权版”,但直到 8 月份才发布。 Phusion 客运企业完全自动化滚动重启(Unicorn 需要一些手动脚本来使滚动重启表现良好)。它还包括许多其他有用的功能,例如部署错误抵抗、实时 IRB 控制台等。

关于ruby-on-rails - 您能否像在 Unicorn 上重新加载 Rails 应用程序一样,无缝地在Passenger 上重新加载Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8909663/

相关文章:

ruby-on-rails - Rails、Devise gem、使用路由或在 Controller 中进行身份验证?哪个最好?

ruby-on-rails - 如何从 URL 下载文件并将其保存在 Rails 中?

ruby-on-rails - 为什么乘客如此积极地点击我的索引页面

ruby-on-rails - 我是否正确地在 Heroku + Unicorn 中预加载了应用程序?

ruby-on-rails - 我的 Rails 文件的 Nginx 权限被拒绝错误?

ruby-on-rails - 仅允许将Openshift应用程序与另一个应用程序连接

ruby-on-rails - 使用rails prawn时如何设置表格的column_width?

ruby-on-rails - 无法在 WSL 下使用乘客和 https 在 nginx 上启动 Rails 应用程序 - 端口正在使用

ruby-on-rails - Passenger Apache2 CentOS RVM Permission denied on startup

linux - kill -9 和生产应用