【问题标题】:Unicorn workers timeout独角兽工人超时
【发布时间】:2014-08-04 19:16:03
【问题描述】:

我正在开发一个在 Nginx Web 服务器中运行的 AngularJS(前端),它将请求发送到在 Unicorn 应用程序服务器中运行的 Rails API(后端)。

我知道我只是一名开发人员,对服务器管理一无所知,所以我只是放置服务器并启动它们。

应用程序正在运行,但是,Unicorn 有一个奇怪的行为。当我启动它时,我总是得到这个错误:

roberto@ubuntu:~/dev/scripts$ ./start_unicorn.sh 
I, [2014-06-14T11:46:06.085834 #4258]  INFO -- : Refreshing Gem list
I, [2014-06-14T11:46:11.591592 #4258]  INFO -- : listening on addr=0.0.0.0:8080 fd=10
I, [2014-06-14T11:46:12.087321 #4258]  INFO -- : master process ready
I, [2014-06-14T11:46:12.151320 #4263]  INFO -- : worker=0 ready
I, [2014-06-14T11:46:12.150526 #4266]  INFO -- : worker=1 ready
E, [2014-06-14T11:46:39.112668 #4258] ERROR -- : worker=0 PID:4263 timeout (16s > 15s), killing
E, [2014-06-14T11:46:39.112898 #4258] ERROR -- : worker=1 PID:4266 timeout (16s > 15s), killing
E, [2014-06-14T11:46:39.118081 #4258] ERROR -- : reaped #<Process::Status: pid 4263 SIGKILL (signal 9)> worker=0
E, [2014-06-14T11:46:39.118634 #4258] ERROR -- : worker=1 PID:4266 timeout (16s > 15s), killing
E, [2014-06-14T11:46:39.121820 #4258] ERROR -- : reaped #<Process::Status: pid 4266 SIGKILL (signal 9)> worker=1
I, [2014-06-14T11:46:39.172067 #4284]  INFO -- : worker=1 ready
I, [2014-06-14T11:46:39.172620 #4281]  INFO -- : worker=0 ready

它需要几秒钟才能响应。而且这种情况不断发生。

我想我错过了一些配置,但不知道......

如果您需要更多详细信息,例如配置文件,请告诉我

【问题讨论】:

标签: ruby-on-rails angularjs nginx unicorn


【解决方案1】:

您的资产是否已预编译?你在生产吗? 如果不是在您启动服务器并收到第一个请求时,rails 将尝试编译您的资产,这可能需要 15 秒以上并达到独角兽超时。

在你的 start.sh 中你应该有某个地方

export RAILS_ENVIRONEMENT=production

在部署期间,您应该拥有:

rake assets:precompile

【讨论】:

  • 感谢您的回答 Luc,但是我花了很多时间都没有结果,所以我搬到了 Puma。
猜你喜欢
  • 2014-12-31
  • 2012-09-17
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多