Ruby 1.8.7 と Rails 2.3.2 で動作する Ruby on Rails サイトの保守と開発を継承しています。可能な限り Passenger を使用して Linux サーバーに展開しようとしていますが、上司から、クライアントのために時々 Windows に展開できるようにする必要があると言われました。
Rails アプリを正常にインストールし、Webrick サーバーでテストすると完全に動作します。また、一般的な HTML ページを完全に提供する Apache 2.2 もインストールしました。ただし、Rails アプリを Apache で実行しようとすると、503 Service Temporarily Unavailable エラーが発生します。
Apache ログにエラーは表示されませんが、RoR ログを確認するとエラーが表示されます
127.0.0.1 - - [09/Aug/2012:10:31:02 +1000] "GET / HTTP/1.1" 503 323
127.0.0.1 - - [09/Aug/2012:10:31:02 +1000] "GET /favicon.ico HTTP/1.1" 503 323
と
[Thu Aug 09 10:31:06 2012] [error] proxy: BALANCER: (balancer://mmapscluster). All workers are in error state
[Thu Aug 09 10:31:07 2012] [error] proxy: BALANCER: (balancer://mmapscluster). All workers are in error state
ご想像のとおり、パフォーマンス上の理由から、Mongrel をプロキシ サーバーとして実行しています。
Apache 構成からすべてのプロキシを削除したとき (ちなみに、Apache を再起動してもプロキシ構成には十分ではありません。マシン全体を再起動する必要がありました)、次の Apache エラーの無限のリストを取得しました。
[notice] Parent: Created child process 1944
[notice] Child 1944: Child process is running
[notice] Parent: child process exited with status 255 -- Restarting.
[notice] Apache/2.2.15 (Win32) configured -- resuming normal operations
私はこれを何度も繰り返し、設定を動作中のインストールと照合しましたが、セットアップに違いは見られません。唯一の実際の違いは、動作中のマシンが 32 ビット マシンで実行され、失敗したマシンが 64 ビット マシンで実行されていることです。
これが問題でしょうか?64 ビット マシンで Apache を実行しているときに似たような問題が発生した人はいますか?