我正在尝试在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>