【发布时间】:2012-05-27 23:22:48
【问题描述】:
我的项目使用rails 3.0.11、ruby 1.9.3-p0、nginx 1.0.4 和unicorn 3.6.2。我有一个问题。
我必须在我的服务器上进行长期操作。大约是 150 秒。在这种情况下没关系。
我已经在 location 中设置了我的 nginx 配置
proxy_read_timeout 240;
proxy_send_timeout 240;
并使用命令设置我的unicorn.rb 文件
timeout 240
但我总是收到502 bad gateway 错误。
我认为,独角兽的问题。我得到了这个独角兽日志
E, [2012-05-21T11:52:21.052382 #30423] ERROR -- : worker=1 PID:30871 timeout (104.052329915s > 60s), killing
E, [2012-05-21T11:52:21.080378 #30423] ERROR -- : reaped #<Process::Status: pid 30871 SIGKILL (signal 9)> worker=1
I, [2012-05-21T11:52:21.105045 #30423] INFO -- : worker=1 spawning...
I, [2012-05-21T11:52:21.111148 #894] INFO -- : worker=1 spawned pid=894
I, [2012-05-21T11:52:21.111659 #894] INFO -- : Refreshing Gem list
你能帮帮我吗?任何帮助表示赞赏。谢谢。
【问题讨论】:
-
您确定正在加载此独角兽文件吗?你是怎么加载它的?
-
我使用capistrano-deploy gem 重新加载独角兽。有趣的是,
unicorn.rb位于 unix 主文件夹中,但 rails 应用程序位于web-app文件夹中。我以前从未遇到过类似的。 -
我从来没有使用过这个 gem,但是如果你这样做在 'deploy:restart', 'unicorn:reload' 之后你需要重启 unicorn,而不仅仅是重新加载它。 sudo /etc/init.d/unicorn restart 并设置超时。在 unicorn 中,重新加载和重启是两件不同的事情。
-
是的。我从家里解决了问题
unicorn.rb是来自/etc/unicorn的工作文件的副本。我的天啊。 重新启动后它一直在工作。谢谢你。你帮了我。但解决方案很有趣 -
@MaurícioLinhares - 如果您想将解决方案概括为您自己的答案,我将删除我的答案。 (请参阅meta.stackexchange.com/questions/90263/… 详细说明为什么这会有所帮助。)谢谢!
标签: ruby-on-rails ruby unicorn