1

我有一个奇怪的问题。我们正在运行 Rails 3.2.2、Nginx 和 Unicorn。例如,如果我们对 index.html.erb 进行文本更改,则部署更改不会显示。

如果我查看生产服务器上的文件,我可以看到更改实际上位于“当前”目录中。所以我知道它已正确发布。

就好像独角兽没有更新自己或正确重新启动(即使我在部署时重新启动)。

更奇怪的是——我更改了应用程序的电子邮件 smtp 设置。部署后,我得到 SMTP 535 错误的用户名/密码。但是,如果我刷新 3 次就可以了。再次 - 这可能是某种 nginx/unicorn worker 缓存旧代码吗?

我今天必须部署这个项目,所以我有一定的压力来解决这个问题。任何帮助表示赞赏。谢谢!

4

1 回答 1

0

涉及许多不同的变量。根据您配置 Unicorn 的方式,您可能需要发送unicorn master一个USR2 信号信号来启动一个新的主进程,然后向旧的独角兽主进程发送一个 QUIT 信号以获取它。

根据生产服务器环境和部署机制,您可以利用工头之类的工具在部署时更轻松地管理独角兽。

于 2012-04-11T16:55:04.263 回答