ruby-on-rails – 如何在不杀死主进程的情况下重新加载Unicorn?

我有一个RubyOnRails项目,并在Ubuntu服务器上将它与Unicorn一起部署在nginx上.

如果我更改其中一个配置文件,我需要重新启动Unicorn,但是当我杀死Unicorn的主进程并使用bundle exec再次启动时,它会关闭我的站点.

是否有任何方法可以让Unicorn使用新文件而不会导致进程崩溃并停止运行?

最佳答案
在我的capistrano deploy.rb中我有:

desc "Zero-downtime restart of Unicorn"
task :restart,:except => { :no_release => true } do
  run "kill -s USR2 unicorn_pid"
end

这在“Lighting fast,zero-downtime deployments with git,capistrano,nginx and Unicorn”中有详细记载.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。