4

当我将新代码从我的 Sinatra 应用程序推送到我的生产服务器时,我目前正在通过触摸触发乘客重启tmp/restart.txt,这会加载新的更改。问题是该站点在此过程中基本上关闭了大约 10 秒。

如何设置我的服务器,以便完全避免任何停机时间?

也就是说,我希望应用程序继续提供旧版本的代码,直到新代码完全加载,然后立即切换到新代码。

在这里使用shotgun 或sinatra/reloader 将不起作用,因为这是一个生产环境。最后,如果答案取决于应用程序服务器,我会对如何同时使用独角兽和乘客感兴趣。

4

1 回答 1

2

您正在寻找的是滚动重启。Phusion 客运企业支持这一点:http ://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerRollingRestarts

于 2013-03-13T08:23:05.290 回答