我正在運行一個名為 Redmine 的 Ruby on Rails 應用程式。它一直工作正常,但今天出現 503 服務暫時無法使用錯誤。 (它最初是由一名現已離職的員工設立的。)
我檢查錯誤日誌,上面寫著:
[Mon Nov 21 11:03:30 2011] [error] (111)Connection refused: proxy: HTTP: attempt to connect to 127.0.0.1:3000 (127.0.0.1) failed
[Mon Nov 21 11:03:30 2011] [error] ap_proxy_connect_backend disabling worker for (127.0.0.1)
這是我的 Apache 配置的一部分
<VirtualHost *:80>
ServerName redmine.{domain}.com
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L]
</VirtualHost>
<Proxy balancer://redminecluster>
BalancerMember http://127.0.0.1:3000
</Proxy>
我找到了這個連結:http://www.redmine.org/boards/2/topics/20561這表明我只需要「啟動 redmine 伺服器」。我試過/etc/init.d/redmine start
這給了我這個輸出
=> Booting Mongrel
=> Rails 2.3.11 application starting on http://0.0.0.0:3000
/etc/init.d/redmine 的內容:
cd /var/redmine
sudo ruby script/server -d -e production
我立即註意到的一件事是它顯示的是 0.0.0.0 而不是 127.0.0.1。此外,運行top
或ps -ef
顯示沒有“mongrel”或“redmine”進程的記錄。我還嘗試在啟動 redmine 之前和之後重新啟動 Apache。不知道從這裡去哪裡。
答案1
好的,我明白了,謝謝黃金施拉夫。我嘗試了一下netstat -ptan
,發現在連接埠 3000 上沒有運行應有的 Mongrel 進程,這表示/etc/init.d/redmine
失敗了。事實上,我刪除了-d
(調試)標誌,發現有一個關於最近安裝的插件的大錯誤回溯。我刪除了插件,現在一切都很好。