在全新安装的 Ubuntu 上,使用 Ruby/Rails/RVM 和 Apache 通过Passenger,apache 将在干净重启时出现,但在第一次请求 Rails 应用程序时崩溃。
我之前已经做过很多次了……除了安装在多用户模式下的 RVM。
似乎可能有一些图书馆冲突?
详情如下。
- 64 位 Ubuntu 11.10 安装
- 创建了一个发布用户和组
- 卸载默认的 apache、ruby、passenger (sudo apt-get remove ...)
- 使用系统版本安装的 RVM(多用户)
- 使用 RVM 安装 ruby 1.9.3p194(作为发布用户安装)
- 将发布用户添加到组
rvm
- ruby 和 gems 在 /usr/local/rvm/ 下并且都在组中
rvm
并且可读 - 安装 apache2 和各种支持库 (
sudo apt-get install apache2
) - 将 apache2 用户 (
www-data
) 添加到组rvm
gem install passenger
从 gem ( )安装乘客- 使用乘客来制作乘客模块(
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 的堆栈转储。
我尝试在独立模式下运行乘客。纳达。
有任何想法吗?