乘客崩溃,在apache开始时挂起

时间:2012-05-08 21:41:17

标签: ruby-on-rails-3 apache ubuntu passenger

在Ubuntu的全新安装中,使用带有Apache via Passenger的Ruby / Rails / RVM,apache将在干净的重新启动时出现,但在第一次请求时会崩溃到Rails应用程序。

我之前已经完成了很多次......除了在多用户模式下安装RVM。

似乎可能存在一些库冲突?

详情如下。

  • 64位Ubuntu 11.10安装
  • 创建了发布用户和组
  • 卸载默认的apache,ruby,passenger(sudo apt-get remove ...)
  • 使用系统版本(多个用户)安装RVM
  • 使用RVM(作为发布用户安装)安装了ruby 1.9.3p194
  • 将发布用户添加到群组rvm
  • ruby​​和gem位于/ usr / local / rvm /下,并且都在组rvm中且可读
  • 安装apache2和各种支持库(sudo apt-get install apache2
  • 将apache2用户(www-data)添加到群组rvm
  • 从gem(gem install passenger
  • 安装乘客
  • 使用乘客制作乘客模块(passenger-install-apache2-module)。没错。
  • 配置apache以加载正确的模块(在/ usr / local / rvm ...下)
  • 配置apache以引用正确的PassengerRoot和PassengerRuby
  • 注意:这一切都没有引用Rails应用程序
  • 启动apache(sudo apache2ctl start)...这挂起

Apache error.log显示

[ pid=1303 thr=140033289561952 file=ext/apache2/Hooks.cpp:1389 time=2012-05-07 19:54:15.497 ]: Initializing Phusion Passenger...
[ pid=1303 thr=140033289561952 file=ext/apache2/Hooks.cpp:1664 time=2012-05-07 19:54:15.536 ]: Shutting down Phusion Passenger...
[ pid=1312 thr=140533444790112 file=ext/common/LoggingAgent/Main.cpp:283 time=2012-05-07 19:54:15.537 ]: Logging agent online, listening at unix:/tmp/passenger.1.0.1303/generation-0/logging.socket

换句话说,乘客在开始后会立即终止。 /var/log/syslog显示PassengerWatchd的堆栈转储。

我尝试以独立模式运行乘客。纳达。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

对于任何人来说,这最终成为了几个人的问题,Passenger Google Group here

上发布了几个很好的解决方法

答案 1 :(得分:0)

确保您的passenger.conf使用与控制台中相同版本的ruby。

$ cat /etc/apache2/mods-available/passenger.conf 
PassengerRuby /home/ubuntu/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
PassengerRoot /home/ubuntu/.rvm/gems/ruby-1.9.2-p320/gems/passenger-3.0.18
PassengerDefaultUser www-data

比较PassengerRuby与:

相同
$ which ruby
/home/ubuntu/.rvm/rubies/ruby-1.9.2-p320/bin/ruby