2012-07-25 51 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上的權限是錯誤的,你會得到其他奇怪的東西作爲結果。

相關問題