0

我正在使用 Unicorn 应用服务器在 Rails 应用程序上运行电子商务 ruby​​。ruby 版本是 2.0.0,rails 版本是 3.2.14。我将 Nginx 作为 Web 服务器运行。每当我将代码推送到服务器时,我都需要重新启动独角兽应用服务器,这会导致网站出现故障/哔哔声,我在谷歌上搜索了解决方案,但似乎没有任何效果。我之前使用过乘客,这很好。

有什么办法可以避免重启期间出现故障,从而保持零停机时间。

4

1 回答 1

1

如果您将 USR2 发送给 unicorn master,它将导致 unicorn worker 重新启动,并且应该会导致零停机时间重新启动。使用以下命令发送 USR2 信号:

kill -s USR2 process-id-of-master-process

将 process-id-of-master-process 替换为 unicorn master 的数字进程 id(使用 ps agx | grep unicorn 找到它,或在 pids 文件夹中查找 unicorn.pid

请注意,如果 unicorn 在 Bundler 下运行,您仍然需要在更改 Gemfile 时进行冷重启,以便拾取新的 Gemfile。

于 2013-08-17T06:30:27.223 回答