Phusion Passenger を使用して、複数の Ruby on Rails Web アプリケーションを実行する Apache2 Web サーバーをセットアップしています。Passenger は、リクエストを処理するために Ruby プロセスを生成することを知っています。次の質問があります。
- 複数のリクエストを同時に処理する必要がある場合、Passenger は複数のプロセスまたは複数の (Ruby) スレッドを生成しますか? 常にシングルスレッドプロセスを生成するように構成するにはどうすればよいですか?
- Rails アプリケーションが 2 つある場合、アプリ A のリクエストがプロセス 1 に送られ、その後アプリ B のリクエストが届くとします。プロセス 1 がこの要求も処理する可能性はありますか? いつ、どのようにこれが可能になりますか? つまり、1 つのプロセスで複数の Rails アプリケーションのリクエストを処理できるのでしょうか?
- 同じ Rails アプリケーションを複数の URL と複数の仮想ホスト (http:// や https:// など) にエクスポートしています。同じプロセスで異なる仮想ホストにサービスを提供できますか? (これに対する答えはイエスのようです。仮想ホストAへのリクエストに応答する際にグローバル変数を設定し、仮想ホストBで値を取得できました。)