【问题标题】:How to make Nginx be aware of Rails code changes如何让 Nginx 了解 Rails 代码更改
【发布时间】:2026-01-26 00:00:02
【问题描述】:

如果我在应用程序代码更改时使用“Rails s”服务我的应用程序,则服务的应用程序也会更改。现在我正在使用 Nginx 和乘客,我如何复制这种行为,至少在开发环境中?

【问题讨论】:

    标签: ruby-on-rails nginx passenger


    【解决方案1】:

    你实际上想重新加载Passenger,而不是nginx。在 Rails 应用程序根目录下创建一个 tmp/restart.txt 文件。要重新加载,touch tmp/restart.txt。乘客会注意到文件更改并重新加载。

    【讨论】:

    • 这是我想要避免的。加载应用程序大约需要 3-4 秒,因为它必须连接到数据库。也许乘客或 Nginx 有一些选项可以在有更改时重新加载应用程序,因为当您执行“rails s”时,我不必等待。
    • 哦,自动重载...您可以通过在配置Passenger的nginx配置的服务器块中设置rails_env development来实现这一点。不过不确定——我以前从未这样做过。