我正在运行一个名为 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
(debug) 标志,发现最近安装的插件有一个很大的错误回溯。我删除了插件,现在一切都好了。