我在apache / passenger / ubuntu上运行rails 4 app。当我在config / environments / production.rb中注释掉config_serve.static.assets行时,app运行正常,如下所示:
# Disable Rails's static asset server (Apache or NGINX will already do this).
# config.serve_static_assets = false
虽然它有效但是注释掉这一行似乎是一个坏主意,因为我已经读过配置变量的默认值为true,并且当你&和它被设置为false时它应该被设置为false。 #39;在apache或nginx后面运行app。但是,当我取消注释该行时,应用程序无法启动,并且我在apache错误日志中收到以下错误:
[Client 20] Cannot checkout session because a spawning error occurred. The identifier of the error is 108162e2. Please see earlier logs for details about the error.
App 10751 stdout:
App 10751 stderr: --> Compiling passenger_native_support.so for the current Ruby interpreter...
App 10751 stderr:
App 10751 stderr: (set PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY=0 to disable)
App 10751 stderr:
App 10751 stderr: --> Downloading precompiled passenger_native_support.so for the current Ruby interpreter...
App 10751 stderr:
App 10751 stderr: (set PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0 to disable)
App 10751 stderr:
App 10751 stderr: # tar xzf rubyext-ruby-2.1.3-x86_64-linux.tar.gz
App 10751 stderr: # rm -f rubyext-ruby-2.1.3-x86_64-linux.tar.gz
App 10751 stderr: Checking whether downloaded binary is usable...
App 10751 stderr: # /usr/local/bin/ruby -I. test.rb
App 10751 stderr: /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': libruby.so.2.1: cannot open shared object file: No such file or directory - /tmp/passenger-native-support-j3v7kx/passenger_native_support.so (LoadError)
App 10751 stderr: from /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
App 10751 stderr: from test.rb:2:in `<main>'
App 10751 stderr: Binary is not usable.
App 10751 stderr: --> Continuing without passenger_native_support.so.
App 10751 stdout:
[ 2015-01-21 10:13:18.0841 10166/7fce0acf9700 Pool2/Implementation.cpp:287 ]: Could not spawn process for application /home/DFM: An error occured while starting up the preloader.
Error ID: 4b40f65d
Error details saved to: /tmp/passenger-error-tH49HR.html
Message from application: undefined local variable or method `false ' for #<Dfm::Application:0x007f4afb293b30> (NameError)
/home/DFM/config/environments/production.rb:24:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0.rc2/lib/rails/railtie.rb:210:in `instance_eval'
/usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0.rc2/lib/rails/railtie.rb:210:in `configure'
/home/DFM/config/environments/production.rb:1:in `<top (required)>'
所以我的问题是(1)运行应用程序并将配置变量注释掉(因此默认为true),以及(2)如果它是一个问题,如何解决它是一个问题?
答案 0 :(得分:1)
在一堆乘客警告中隐藏了重要的错误消息:
Message from application: undefined local variable or method `false ' for #<Dfm::Application:0x007f4afb293b30> (NameError)
/home/DFM/config/environments/production.rb:24:in `block in <top (required)>'
我确定您现在已经解决了这个问题,但是遇到此页面的未来乘客用户可能会分心,因为您和我之前有关于乘客原生支持的警告与错误本身无关。