Sinatra:热门代码推动生产?

时间:2013-03-07 20:49:34

标签: ruby nginx sinatra passenger unicorn

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

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

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

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

1 个答案:

答案 0 :(得分:2)

您正在寻找的是滚动重启。 Phusion Passenger Enterprise支持此:http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerRollingRestarts