2012-10-23 81 views
2

我使用乘客3.0.17部署我的紅寶石3.2.6項目。我的httpd.conf文件是:在軌道上的紅寶石500內部服務器錯誤

<VirtualHost *:80> 
     ServerName test.com 
     DocumentRoot /var/www/html/test/public 
     RackBaseURI /var/www/html/test/public 
     <Directory /var/www/html/test/public> 
     # This relaxes Apache security settings. 
     AllowOverride all 
     # MultiViews must be turned off. 
     Options -MultiViews 
     </Directory> 
     PassengerMinInstances 1 
</VirtualHost> 

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17 
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby 
RailsSpawnMethod conservative 

當我通過啓動乘客部署我的項目,它工作正常,但在上傳圖片到服務器時,它拋出500內部錯誤。我無法找到這個錯誤的原因,也是這個錯誤是暫時的,並通過刪除我的紅寶石項目中保存的緩存重新啓動乘客後被刪除。

我是新來的紅寶石在軌道上,無法找出這個錯誤的原因,以及它爲什麼消失在重新啓動乘客。

請指引我 預先感謝

回答

3

閱讀Apache的錯誤日誌文件。如果Phusion Passenger在瀏覽器中不顯示錯誤消息,則它會將錯誤消息打印到日誌文件中。

+1

我檢查了乘客日誌,發現問題:4921#0:* 77 open()「/tmp/passenger-standalone.4869/client_body_temp/0000000002」failed(2:No such file or directory),client:122.176。 71.55,server:_,request:「POST/uploads/uploadFile HTTP/1.1」,主機:「test.com」,referrer:「http:// test/abc /」。當我手動創建文件夾時,問題被刪除,但在某個時間後重新出現。 – Rajat

+1

這似乎是問題所在。 /tmp/passenger-standalone.*必須存在,因爲它用於存儲臨時文件。您的系統可能有某種/ tmp清理程序,它會在一段時間後清理目錄。你應該禁用它。 – Hongli

+0

我工作過,但無法找到任何/ tmp清潔工。我搜索了一下,發現這個鏈接http://code.google.com/p/phusion-passenger/issues/detail?id=654。我面臨着與此處定義的相同的問題。你可以看看它嗎? – Rajat

1

用途:

passenger-status

如果有,你可能沒有安裝您的Ruby版本的GAM錯誤

用途:

gem install passenger

然後:

passenger-install-apache2-module

檢查乘客與運行:

passenger-memory-stats

passenger-status

按照第Phusion Passenger

說明您可能需要修改mods-available/passenger.conf,以點帶rbenv或rvm紅寶石翻譯,而不是us/bin/ruby

0

有同樣的問題,發現有多個乘客檢查passenger-status運行。殺死他們,然後再次運行乘客passenger start,而不是根用戶。