16

以下の構成の専用サーバーが1つあります

i3 - Dual Core - 3.06Ghz H/T
16GB RAM
500GB SATA2

ここで、1つの専用サーバーで2つの異なるRailsアプリケーションを実行したいと思います。どちらのアプリケーションも異なりますが、共通のデータベースを使用しています。

それは可能ですか?はいの場合–どうすればそれができますか?Phusion Passenger with Apacheは良いアプローチですか?はいの場合-1つのPhusionPassengerサーバーで2つのアプリケーションを構成するにはどうすればよいですか?

4

3 に答える 3

14

Apache、Phusion Passenger、およびいくつかのバージョンのRubyを使用して、1つのLinuxサーバーで複数のRailsアプリケーションを実行する方法について説明します。あなたには多くの選択肢がありますが、これはあなたが始めるのに役立つはずです。これらの詳細の多くは、インストールスクリプトからのものです

まず、PhusionPassengerをインストールします。

> gem install passenger

次に、Apache2Passengerモジュールをビルドします。手順1でインストールした次のスクリプトを実行できるはずです。

> passenger-install-apache2-module

このスクリプトは、Apache 2モジュールをコンパイルし、Apacheの構成方法を説明します。依存関係が欠落している場合、スクリプトはそれらをインストールする方法についていくつかの役立つアドバイスを提供する必要があります。

3番目に、Apache構成ファイルを編集します。このようなものを追加する必要があります。(これを参照に使用するだけで、.rvmについて心配する必要はありません)ステップ2で実行されたスクリプトは、コピーして貼り付けることができるものを提供します。

LoadModule passenger_module /Users/me/.rvm/gems/ree/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /Users/me/.rvm/gems/ree/gems/passenger-3.0.9
PassengerRuby /Users/me/.rvm/wrappers/ree/ruby

第4に、実行するアプリケーションごとに、このようなものをApache構成ファイルに追加します。

<VirtualHost *:80>
  ServerName app1.example.com
  DocumentRoot /somewhere/app1/public    # <-- be sure to point to 'public'!
  <Directory /somewhere/app1/public>
     AllowOverride all              # <-- relax Apache security settings
     Options -MultiViews            # <-- MultiViews must be turned off
  </Directory>
</VirtualHost>

1つのデータベースを共有する2つのRailsアプリケーションがある場合、それらは両方ともconfig/database.ymlに同様の接続情報を持ちます

于 2011-09-20T20:40:38.953 に答える
1

はい、それは間違いなく可能です。Passenger + Apacheでこれを行ったことはありませんが、それは良い方法だと確信しています。私はこれまでthin+nginxでしかそれをしていません。

于 2011-09-20T18:54:05.957 に答える
0

Apacheを使用したPassengerPhusionは、確実なアプローチです。彼らが同じデータベースを使用しているという事実は問題ではないはずです(彼らがお互いを踏まないように注意してください)。

通常は、通常どおりに設定しますが、Apacheの名前ベースの仮想ホストを見てください。

http://httpd.apache.org/docs/2.2/vhosts/name-based.html

于 2011-09-20T19:10:20.583 に答える