当我将新代码从我的Sinatra应用程序推送到我的生产服务器时,我正在通过触摸加载新更改的tmp/restart.txt
触发重新启动乘客。问题是在此过程中网站基本上停机了大约10秒钟。
如何设置我的服务器以便完全避免停机?
也就是说,我希望应用程序在新代码完全加载之前继续提供旧版本的代码,然后立即切换到新代码。
使用霰弹枪或sinatra / reloader不起作用,因为这是一个生产环境。最后,如果答案取决于应用程序服务器,我会对如何使用独角兽和乘客感兴趣。
答案 0 :(得分:2)
您正在寻找的是滚动重启。 Phusion Passenger Enterprise支持此:http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerRollingRestarts