2012-07-25 53 views
1

我试图访问一对夫妇的Rails应用(管理平台,TOTO)由mod_passenger的方式在Apache上运行,并在我的Apache的错误日志中出现以下错误:mod_passenger“无法连接到Unix套接字”错误

[ pid=11154 thr=3076008592 file=ext/apache2/Hooks.cpp:884 time=2012-07-25 17:25:02.921 ]: Unexpected error in mod_passenger: Cannot connect to Unix socket '/tmp/passenger.1.0.10257/generation-0/socket': Permission denied (13) 
    Backtrace: 
in 'Passenger::ApplicationPool::Client* Passenger::ApplicationPool::Client::connect(const std::string&, const std::string&, const Passenger::StaticString&)' (Client.h:438) 
in 'Passenger::ApplicationPool::Client* Hooks::getApplicationPool()' (Hooks.cpp:286) 
in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:312) 
in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:585) 

这里是我的Apache客运conf文件:

$ cat passenger.conf 
<IfModule mod_passenger.c> 
    PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.14 
    PassengerRuby /usr/local/bin/ruby 
    PassengerDefaultUser www-data 
</IfModule> 
$ cat passenger.load 
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.14/ext/apache2/mod_passenger.so 

我运行Ubuntu 11.04,阿帕奇2.2.17,1.9.1,3.2.6的Rails,客运3.0.14。

任何想法如何解决这个问题?

+0

我的/ tmp目录以某种方式获得了权限700,因此权限被拒绝。我不记得那样做! – boxysean 2012-07-25 21:47:47

回答

0

你需要理清的唯一事情是这样的:

'/tmp/passenger.1.0.10257/generation-0/socket': Permission denied (13) 

然而TMP通常有粘性位设置,限制什么非业主可以对文件做(和一大原因,使用Unix套接字是特权分离)。真的一个套接字不应该在/ tmp中。/var中的某个位置更为合理。

是的,你在/ tmp上的权限是错误的,你会得到其他奇怪的东西作为结果。

相关问题