我正在尝试在Ubuntu 12.04 LTS 64位服务器上为Rails 3.2.13应用程序设置Phusion Passenger for Apache。
我可以使用Webrick服务器完美地运行Rails应用程序,但每当我在Apache下运行它时,我得到500内部服务器错误,Apache错误日志显示以下内容,
*** Phusion Passenger: no passenger_native_support.so found for the current Ruby interpreter. Compiling one...
# mkdir -p /buildout/ruby/ruby-1.9.3-x86_64-linux
# cd /buildout/ruby/ruby-1.9.3-x86_64-linux
*** Phusion Passenger: no passenger_native_support.so found for the current Ruby interpreter. Compiling one...
# mkdir -p /buildout/ruby/ruby-1.9.3-x86_64-linux
# cd /buildout/ruby/ruby-1.9.3-x86_64-linux
/var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:67:in `join': can't convert nil into String (TypeError)
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:67:in `extconf_rb'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:178:in `block (2 levels) in compile'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:176:in `chdir'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:176:in `block in compile'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:170:in `each'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:170:in `each_with_index'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:170:in `compile'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:140:in `compile_and_load'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:37:in `start'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:228:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/utils.rb:26:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:102:in `rescue in <main>'
from /usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:30:in `<main>'
*** Phusion Passenger: no passenger_native_support.so found for the current Ruby interpreter. Compiling one...
# mkdir -p /buildout/ruby/ruby-1.9.3-x86_64-linux
# cd /buildout/ruby/ruby-1.9.3-x86_64-linux
*** Phusion Passenger: no passenger_native_support.so found for the current Ruby interpreter. Compiling one...
# mkdir -p /buildout/ruby/ruby-1.9.3-x86_64-linux
# cd /buildout/ruby/ruby-1.9.3-x86_64-linux
/var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:67:in `join': can't convert nil into String (TypeError)
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:67:in `extconf_rb'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:178:in `block (2 levels) in compile'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:176:in `chdir'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:176:in `block in compile'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:170:in `each'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:170:in `each_with_index'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:170:in `compile'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:140:in `compile_and_load'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:37:in `start'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/native_support.rb:228:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.9.1/gems/passenger-4.0.10/lib/phusion_passenger/utils.rb:26:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:102:in `rescue in <main>'
from /usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:30:in `<main>'
[ pid=2036 thr=140218616461056 file=ext/apache2/Hooks.cpp:884 time=2013-08-05 12:42:29.716 ]: Unexpected error in mod_passenger: Cannot spawn application '/home/cms/sandbox': Could not read from the spawn server: Connection reset by peer (104)
Backtrace:
(empty)
我检查了源代码中的行,并引用了ruby_extension_source_dir
。我认为我的配置在某个地方有问题,但我已经使用passenger-config工具检查了Passenger的路径并且它们是正确的(相关的Apache配置在下面),
<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.10
PassengerRuby /usr/bin/ruby1.9.1
</IfModule>