【问题标题】:How do i make nginx and passenger restart automatically after a deploy部署后如何使 nginx 和乘客自动重启
【发布时间】:2013-02-16 22:48:42
【问题描述】:

我目前在虚拟专用服务器上部署了一个 Rails 应用程序。

我使用 Capistrano、Nginx 和乘客在服务器上运行我的 rails 应用程序。

由于某种原因,在我完成 cap deploy:update 后,我永远无法在网站上显示更新后的代码。

部署进行得很好,甚至可以通过 Vim 在实时服务器上看到代码,但是如果我导航到实时站点,它将不会显示。

我当前的解决方法是重新启动服务器,在服务器启动备份后启动 nginx 和乘客。

我担心的是,如果有人在我部署并重新启动时登录到该站点,它会将他们从该站点中删除。

大家有什么想法吗

【问题讨论】:

    标签: ruby-on-rails nginx capistrano passenger


    【解决方案1】:

    如果您从您的 rails 根目录运行 touch tmp/restart.txt,乘客将重新启动应用程序。您不必重新启动 nginx。在 restart.txt 文件的时间戳发生变化后,Passenger 将重新启动下一个请求。如果您的应用需要一段时间才能启动,您可能希望通过在触摸文件后立即发出请求来强制启动。

    您不必担心将某人踢出站点,如果有请求正在处理,它不会重新启动服务器。

    【讨论】:

      【解决方案2】:

      如果您仍然遇到问题,您可以使用 Monit gem,在 capstraino 中它工作得非常好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-14
        • 2011-09-07
        • 2012-08-09
        相关资源
        最近更新 更多