2012-04-11 38 views
1

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

如果我看着生产服务器上的文件,我可以看到这个改变实际上是坐在'当前'目录中。所以我知道它已经正确发布了。

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

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

我今天不得不部署这个项目,所以在一定的压力下解决这个问题。任何帮助赞赏。谢谢!

+0

请添加您的Unicorn配置的内容(通常为'config/unicorn.rb') – 2012-04-11 16:36:48

+0

您是否曾经解决过这个问题?我有一个类似的设置,Rails 3.2.9/nginx/unicorn,当我部署时,我的erb模板的更改不显示。让我们知道你是否取得了进展! – DelPiero 2013-02-04 19:52:02

回答

0

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

根据生产服务器环境和部署机制,您可能能够利用像foreman这样的工具在部署时更轻松地管理您的独角兽。