在Rails中,在通过Capistrano脚本进行代码部署后重启像Thin这样的应用服务器的最佳策略是什么。我希望能够将代码部署到生产服务器,而不必担心用户可能会看到500.html页面。
答案 0 :(得分:9)
我在寻找答案时发现了这个问题。因为我想坚持使用Thin,所以这里的答案都不符合我的需求。这为我解决了这个问题:
thin restart -e production --servers 3 --onebyone --wait 30
答案 1 :(得分:6)
Unicorn应该内置滚动重启。我还没有设置一个unicorn堆栈,但http://sirupsen.com/setting-up-unicorn-with-nginx/看起来是一个好的开始。
答案 2 :(得分:3)
我以前用生产服务器的方式是apache和passenger。这是一个行业标准设置,允许您在没有停机的情况下部署新版本
一切设置正确后,您只需转到app目录
即可在/ tmp目录中创建一个名为restart.txt的文件。
Ex:触摸tmp / restart.txt
在此处阅读更多内容http://www.modrails.com/
http://jimneath.org/2008/05/10/using-capistrano-with-passenger-mod_rails.html
http://www.zorched.net/2008/06/17/capistrano-deploy-with-git-and-passenger/
http://snippets.dzone.com/posts/show/5466
HTH
sameera