ruby-on-rails – 请求处理程序错误尝试在升级的Ruby / Rails / Ubuntu框上运行Nginx / Phusion Passenger

我是新来的,所以要温柔.我最近建立了一个新的VPS来运行ruby-on-rails网站.我已经使用上述版本安装了以下应用程序.我收到Bad Gateway错误.我浏览了网络和stackoverflow,但未能隔离任何有关此错误的讨论.请有人对此有...

我是新来的,所以要温柔.

我最近建立了一个新的VPS来运行ruby-on-rails网站.我已经使用上述版本安装了以下应用程序.我收到Bad Gateway错误.我浏览了网络和stackoverflow,但未能隔离任何有关此错误的讨论.

请有人对此有所了解.
感谢您的投入.
阿尔夫

>服务器:Ubuntu 14.04
> Ruby:2.2
> Rails:4.2
> nginx:1.6.0
>乘客:4.0.46

错误日志 – 将passenger_log_level设置为7.下面的主要位,我还可以上传一个txt文件,如果我能弄清楚如何.

我能发现的主要错误代码就是这个.一旦发出请求,它就会进入无限循环:

2015-01-14 16:38:49.7008 2348/7fa01e892700 agents/HelperAgent/RequestHandler.h:2626 ]: [Client 20] End of (unbuffered) client body reached; done sending data to application
App 2367 stderr: [ 2015-01-14 16:38:49.7012 2442/0x007f052879f318(Main thread) request_handler.rb:181 ]: Entering request handler main loop
App 2367 stderr: /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/lib/phusion_passenger/request_handler.rb:356:in `trap'
App 2367 stderr: : 
App 2367 stderr: Invalid argument - SIGKILL
App 2367 stderr:  (
App 2367 stderr: Errno::EINVAL
App 2367 stderr: )
App 2367 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/lib/phusion_passenger/request_handler.rb:356:in `block in reset_signal_handlers'
App 2367 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/lib/phusion_passenger/request_handler.rb:354:in `each_key'
App 2367 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/lib/phusion_passenger/request_handler.rb:354:in `reset_signal_handlers'
App 2367 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/lib/phusion_passenger/request_handler.rb:182:in `main_loop'
App 2367 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/helper-scripts/rack-preloader.rb:161:in `'
App 2367 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/passenger-4.0.46/helper-scripts/rack-preloader.rb:29:in `'

当nginx / passenger启动时,我也注意到了下面的一次:

[ 2015-01-14 16:38:46.8338 2348/7fa0209bf700 Pool2/SmartSpawner.h:353 ]: [App 2367 stdin >>] 
App 2367 stderr: /usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.1.1/lib/active_support/values/time_zone.rb:285: warning: circular argument reference - now
[ 2015-01-14 16:38:48.0003 2348/7fa020aa3700 Pool2/Pool.h:836 ]: Analytics collection time...
[ 2015-01-14 16:38:48.0021 2348/7fa020aa3700 Pool2/Pool.h:942 ]: Analytics collection done; next analytics collection in 4.998 sec
App 2367 stderr: /usr/bin/env: 
App 2367 stderr: ruby
App 2367 stderr: : No such file or directory
App 2367 stderr: 
[ 2015-01-14 16:38:49.6243 2348/7fa0209bf700 Pool2/Spawner.h:790 ]: [App 2367 stdout] !> Ready
[ 2015-01-14 16:38:49.6245 2348/7fa0209bf700 Pool2/Spawner.h:790 ]: [App 2367 stdout] !> socket: unix:/tmp/passenger.1.0.2344/generation-0/backends/preloader.2367
[ 2015-01-14 16:38:49.6247 2348/7fa0209bf700 Pool2/Spawner.h:790 ]: [App 2367 stdout] !> 

nginx是通过/etc/init.d/nginx脚本启动的,主要是这样做的:

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid                 --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;

解决方法:

我从来没有完全按照上面的设置工作.最后,我将乘客升级到4.0.57,这很有效!

本文标题为:ruby-on-rails – 请求处理程序错误尝试在升级的Ruby / Rails / Ubuntu框上运行Nginx / Phusion Passenger