AWS框上的Unicorn工作人员超时

我正在尝试在AWS盒子上设置一个Unicorn,但是工作人员只是保持计时,我不知道为什么。

我正在使用Ubuntu Server 14.04 LTS AMI,安装标准Ruby on Rails安装所需的一切。 使用rails new,我生成一个空的应用程序,第一次尝试访问它似乎很快,但在此之后,工作人员只是持续超时并永远服务于网页。 加载标准WEBrick服务器没有这个问题,几乎立即加载页面。 我试过回滚几个版本的ruby和独角兽没有运气。 VM中本地不会发生此行为。

以下是在调试模式下运行的服务器的日志


    我,[2014-11-04T18:30:13.290599#17134]信息 - :收听addr = 0.0.0.0:5000 fd = 10
     I,[2014-11-04T18:30:13.362993#17134]信息 - :主过程就绪
     I,[2014-11-04T18:30:13.363098#17137] INFO  - :worker = 0 ready
     I,[2014-11-04T18:30:13.365175#17140] INFO  - :worker = 1 ready
     I,[2014-11-04T18:30:13.365314#17142] INFO  - :worker = 2 ready
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:443中的exception'LoadError' - 无法加载此类文件 -  rails / application_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:352中的exception'LoadError' - 无法加载此类文件 -  rails / application_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:313中的exception'LoadError' - 没有要加载的文件 -  rails / application_helper
     /var/lib/gems/2.1.0/gems/actionpack-4.1.7/lib/abstract_controller/helpers.rb:154中的exception'AbstractController :: Helpers :: MissingHelperError' - 缺少帮助文件助手/ rails / application_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:443中的exception'LoadError' - 无法加载此类文件 -  rails / welcome_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:352中的exception'LoadError' - 无法加载此类文件 -  rails / welcome_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:313中的exception'LoadError' - 没有要加载的文件 -  rails / welcome_helper
     /var/lib/gems/2.1.0/gems/actionpack-4.1.7/lib/abstract_controller/helpers.rb:154中的exception'AbstractController :: Helpers :: MissingHelperError' - 缺少帮助文件助手/ rails / welcome_helper.rb
     ****  -   -  [04 / Nov / 2014 18:30:13]“GET / HTTP / 1.1”200  -  0.0693
     ****  -   -  [04 / Nov / 2014 18:30:14]“GET%2Ffavicon.ico HTTP / 1.1”304  -  0.0441
     E,[2014-11-04T18:30:45.395879#17134]错误 - :worker = 0 PID:17137超时(31s> 30s),查杀
     E,[2014-11-04T18:30:45.395995#17134]错误 - :worker = 1 PID:17140超时(31s> 30s),查杀
     E,[2014-11-04T18:30:45.396072#17134]错误 - :worker = 2 PID:17142超时(31s> 30s),查杀
     E,[2014-11-04T18:30:45.397748#17134]错误 - :收获#manage = 2
     E,[2014-11-04T18:30:45.397882#17134]错误 - :worker = 0 PID:17137超时(31s> 30s),查杀
     E,[2014-11-04T18:30:45.397990#17134]错误 - :worker = 1 PID:17140超时(31s> 30s),查杀
     E,[2014-11-04T18:30:45.401016#17134]错误 - :收获#worker = 1
     E,[2014-11-04T18:30:45.401177#17134]错误 - :worker = 0 PID:17137超时(31s> 30s),查杀
     I,[2014-11-04T18:30:45.402352#17148] INFO  - :worker = 2 ready
     E,[2014-11-04T18:30:45.403784#17134]错误 - :收获#mantry = 0
     I,[2014-11-04T18:30:45.405625#17152] INFO  - :worker = 1 ready
     I,[2014-11-04T18:30:45.406871#17155] INFO  - :worker = 0 ready
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:443中的exception`LoadError' - 无法加载此类文件 -  rails / application_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:352中的exception`LoadError' - 无法加载此类文件 -  rails / application_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:313中的exception`LoadError' - 没有要加载的文件 -  rails / application_helper
     /var/lib/gems/2.1.0/gems/actionpack-4.1.7/lib/abstract_controller/helpers.rb:154中的exception`AbstractController :: Helpers :: MissingHelperError' - 缺少帮助文件助手/ rails / application_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:443中的exception`LoadError' - 无法加载此类文件 -  rails / welcome_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:352中的exception`LoadError' - 无法加载此类文件 -  rails / welcome_helper.rb
     /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:313中的exception`LoadError' - 没有要加载的文件 -  rails / welcome_helper
     /var/lib/gems/2.1.0/gems/actionpack-4.1.7/lib/abstract_controller/helpers.rb:154中的exception`AbstractController :: Helpers :: MissingHelperError' - 缺少帮助文件助手/ rails / welcome_helper.rb
     ****  -   -  [04 / Nov / 2014 18:31:14]“GET / HTTP / 1.1”200  -  0.0680
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception'EOFError' - 文件结束
     /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception'EOFError' - 文件结束
     E,[2014-11-04T18:31:45.465765#17134]错误 - :worker = 2 PID:17148超时(31s> 30s),杀戮
     E,[2014-11-04T18:31:45.468770#17134]错误 - :收获#mantry = 2
    我,[2014-11-04T18:31:45.472177#17162]信息 - :worker = 2 ready
     E,[2014-11-04T18:31:49.474506#17134]错误 - :worker = 1 PID:17152超时(31s> 30s),查杀
     E,[2014-11-04T18:31:49.474633#17134]错误 - :worker = 0 PID:17155超时(31s> 30s),查杀
     E,[2014-11-04T18:31:49.476313#17134]错误 - :收获#mantry = 1
     E,[2014-11-04T18:31:49.476451#17134]错误 - :worker = 0 PID:17155超时(31s> 30s),查杀
     I,[2014-11-04T18:31:49.481324#17166] INFO  - :worker = 1 ready
     E,[2014-11-04T18:31:49.481548#17134]错误 - :收获#mantry = 0
     I,[2014-11-04T18:31:49.484368#17169] INFO  - :worker = 0 ready
     E,[2014-11-04T18:32:17.511012#17134]错误 - :worker = 2 PID:17162超时(31s> 30s),查杀
     E,[2014-11-04T18:32:17.512733#17134]错误 - :收获#manage = 2
     I,[2014-11-04T18:32:17.516074#17174] INFO  - :worker = 2 ready
     E,[2014-11-04T18:32:21.518316#17134]错误 - :worker = 0 PID:17169超时(31s> 30s),查杀
     E,[2014-11-04T18:32:21.520011#17134]错误 - :收获#mantry = 0
     I,[2014-11-04T18:32:21.523230#17177] INFO  - :worker = 0 ready

这是Unicorn配置文件

 worker_processes整数(ENV [“WEB_CONCURRENCY”] || 3)
超时30
 preload_app是的

 before_fork do | server,worker |
   Signal.trap'TERM'做
    把'Unicorn大师拦截TERM并发送自己QUIT'
     Process.kill'QUIT',Process.pid
  结束

  定义?(ActiveRecord :: Base)和
     ActiveRecord的:: Base.connection.disconnect!
结束

 after_fork do | server,worker |
   Signal.trap'TERM'做
    把'Unicorn工人拦截TERM而什么都不做。 等待主人发送退出'
  结束

  定义?(ActiveRecord :: Base)和
    的ActiveRecord :: Base.establish_connection
结束

我确实注意到EOF错误,并怀疑这可能与超时有关,但我不确定。

  /var/lib/gems/2.1.0/gems/unicorn-4.8.1/lib/unicorn/http_request.rb:79中的exception“EOFError” - 文件结束 

所以问题似乎是我私下运行AWS实例(没有公共IP),然后连接到Load Balancer。 删除负载均衡器并直接访问实例可以解决工作时间超时问题,并且不会降低性能。