Ruby on rails 3 CentOS上的Apache Phusion乘客无法启动,因为更新到4.0.6后/tmp上的权限被拒绝
我知道这有很多重复,但没有一个有帮助,我已经将乘客从3.0.19更新到4.0.6,突然我得到了一个禁止的错误, 我查看了日志,错误日志显示Ruby on rails 3 CentOS上的Apache Phusion乘客无法启动,因为更新到4.0.6后/tmp上的权限被拒绝,ruby-on-rails-3,apache,passenger,permission-denied,Ruby On Rails 3,Apache,Passenger,Permission Denied,我知道这有很多重复,但没有一个有帮助,我已经将乘客从3.0.19更新到4.0.6,突然我得到了一个禁止的错误, 我查看了日志,错误日志显示 [ 2013-07-05 12:01:51.3604 2639/7fec9151f720 agents/HelperAgent/Main.cpp:596 ]: PassengerHelperAgent online, listening at unix:/xxxx/tmp/passenger.1.0.2634/generation-0/request [ 2
[ 2013-07-05 12:01:51.3604 2639/7fec9151f720 agents/HelperAgent/Main.cpp:596 ]: PassengerHelperAgent online, listening at unix:/xxxx/tmp/passenger.1.0.2634/generation-0/request
[ 2013-07-05 12:01:51.3654 2644/7f29f6ebf7e0 agents/LoggingAgent/Main.cpp:303 ]: *** ERROR: Cannot bind Unix socket '/xxxx/tmp/passenger.1.0.2634/generation-0/logging_admin': Permission denied (errno=13)
in 'void Passenger::MessageServer::startListening()' (MessageServer.h:333)
[Fri Jul 05 12:01:51 2013] [error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because it encountered the following error during startup: Unable to start the Phusion Passenger logging agent: it seems to have crashed during startup for an unknown reason, with exit code 1
[Fri Jul 05 12:01:51 2013] [notice] Apache/2.2.15 (Unix) DAV/2 Phusion_Passenger/4.0.6 configured -- resuming normal operations
我知道这是因为乘客无法创建/xxxx/tmp/passenger.1.0.2634/generation-0/request,但我不知道为什么
我试过了
1.在conf文件中将用户设置为apache
2.将tmp文件夹设置为MyRails文件中的tmp,而不是/tmp
3.检查rails文件夹中的所有文件和文件夹是否归apache:apache所有
4.SeLinux已打开,已永久禁用它
下面是我当前的apacheconf设置
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.6/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.6
PassengerDefaultRuby /usr/local/bin/ruby
PassengerTempDir /xxxx/tmp
PassengerUserSwitching off
PassengerDefaultUser apache
<VirtualHost *:80>
ServerName xxxxxxx.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /xxxx/public
<Directory /xxxx/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>
LoadModule-passenger\u-module/usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.6/buildout/apache2/mod\u-passenger.so
PassengerRoot/usr/local/lib/ruby/gems/1.9.1/gems/passer-4.0.6
PassengerDefaultRuby/usr/local/bin/ruby
PassengerTempDir/xxxx/tmp
乘客关掉
PassengerDefaultUser apache
服务器名xxxxxxx.com
# !!! 确保将DocumentRoot指向“public”!
DocumentRoot/xxxx/public
#这放松了Apache的安全设置。
允许超越所有
#必须关闭“多视图”。
选项-多视图
编辑
现在我又回到了早期版本,问题似乎已经平息了。这是4.0.6中的回归。它已在刚刚发布的4.0.7中修复。感觉这是一个特定于版本的问题,这必须发生在生产服务器更新上。