複数のRailsアプリケーションごとに異なるgemsetがあり、異なるバージョンのRubyを使用する可能性があるアプリケーションをホストするための最良のアプローチは何でしょうか。RVMを実行して管理することを考えています。アプリケーションごとに異なるgemsetを使用し、各アプリケーションを独自のパッセンジャースタンドアロンインスタンスで実行します。
このアプローチに関する私の唯一の懸念は、複数の乗客スタンドアロンサーバーを実行することと、1つだけですべてのサーバーにサービスを提供することのメモリフットプリントです。いずれにせよ、私はこのようなものにかなり慣れていないので、この種のセットアップのベストプラクティスについての提案を受け入れています。
私もこれを読んだ ブログ投稿 そして私は人々がそれをどう思うか疑問に思いました。それは合理的な設定のように聞こえ、アプリケーション間で物事をクリーンに分離することについて私のOCDに話します。
Passenger3.2はさまざまなRubyバージョンをすぐにサポートするため、非常に簡単です。3.2はまだリリースされていません。適切なpassenger_Ruby
とRVM /を設定してください。 Capistranoが残りを行うことができます。
この記事で詳細を読む: http://ariejan.net/2012/05/11/running-a-different-Ruby-with-passenger-3-2-and-rvm
私はdoで3.2を実行することに注意してください http://ariejan.net :-)
私は言及された記事の著者です。
パッセンジャースタンドアロンまたはユニコーンの個別のインスタンスを使用することをお勧めします。これらはメモリオーバーヘッドが低く、適切に分離できます。
最良の場合、各アプリケーションを個別のユーザーとして実行すると、他のアプリケーションデータにアクセスできなくなります。
私が正しく覚えていれば、nginxの1つのインスタンス(乗客のスタンドアロンに使用されます)は約3MBのRAMを使用します-私の意見では非常に低いです。
新しいオプションがあります-パッセンジャー3.2、ベータ版ですが、1つのサーバーから異なるルビーを実行できるようにする必要があります。