如何在没有停机的代码部署后重新启动Rails生产服务器

时间:2011-05-10 03:19:09

标签: ruby-on-rails

在Rails中,在通过Capistrano脚本进行代码部署后重启像Thin这样的应用服务器的最佳策略是什么。我希望能够将代码部署到生产服务器,而不必担心用户可能会看到500.html页面。

3 个答案:

答案 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