web-dev-qa-db-ja.com

Railsアプリをどのディレクトリにデプロイしますか?

Linuxシステムで本番環境を展開するための合理的で論理的なディレクトリは何ですかRailsアプリ?

一部の候補者...

/var/Rails  <= There's a /var/www so this would be consistent with that 
               pattern. But I.T. guys have complained about stuff in /var 
               before.

/home/my_home_dir/Rails  <= OK, not /var, but I'm not the only developer. 
                            Seems like it really ought to be a systemwide
                            location.

/home/Rails  <= I don't know. That just seems weird.

/Rails  <= Seems even weirder.

ここで最も驚くべき、最も普通なことは何ですか?

(背景情報-a Railsアプリは、JavaScript、CSSを含むpublic dirとともにRubyで記述されたサーバー側コードの束です。 、そしておそらく少しHTML。public dirはApache vhostにマップされます。Apacheは、RubyコードをPassengerまたはmod_Railsと呼ばれるモジュールを通じて処理します。)


助けてくれてありがとう。 /opt/deployed_Rails_appsで行くと思います。 (私は長い、説明的なディレクトリ名とタブ補完が好きです。)/var/...も良い場所ですが、ITから厳しく不平を言いました。そこに展開しようとしたとき。それが自分のマシンであれば、/varまたは/srvを使用できます。

24
Agvorth

/ optapplicationの場所になると思います。 chmeeeの提案に従ってFHSに従うことに同意しますが、Railsアプリ自体がサービスであることには同意しません。

5
Argalatyr

CentOS Linuxディストリビューション(およびその後RedHat)で、httpdパッケージ(Apache 2用)をインストールすると、/var/wwwが作成され、vhostsがここのWebコンテンツを指すことが期待されます。通常、デフォルトの仮想ホストは/var/www/htdocsにダンプされ、後続のサイト/アプリは/var/www/sitenameに配置する必要があります。

実際の場所はそれほど重要ではありませんが、/opt/www/sitename/var/www/sitename、または単に/opt/wwwまたは/var/wwwが表示されるのが一般的です。

他の場所(/homeなど)がこれに適さない理由のいくつかをすでに説明しました。

個人的には、ApacheやRailsとの親和性が高く、システム全体で使用できる/var/www/sitenameを好みます。

7
Kevin Elliott

Filesystem Hierarchy Standard(FHS) に従って次の場所に置くことをお勧めします。

/srv : Data for services provided by this system

編集:

/optには入れません。

/opt : Add-on application software packages

それの目的は言う:

/ optは、アドオンアプリケーションソフトウェアパッケージのインストール用に予約されています。

/ optにインストールするパッケージは、静的ファイルを別の/ opt /または/ opt /ディレクトリツリーに配置する必要があります。ここで、はソフトウェアパッケージを説明する名前であり、プロバイダーのLANANA登録名です。

開発したアプリケーションは「ソフトウェアパッケージ」ではないと思います。

/srvの根拠は

これを指定するこの主な目的は、ユーザーが特定のサービスのデータファイルの場所を見つけられるようにし、読み取り専用データ、書き込み可能なデータ、およびスクリプト(cgiスクリプトなど)に単一のツリーを必要とするサービスを合理的に配置できるようにすることです。

Railsアプリはcgiスクリプトであり、/srvに配置する必要があることを理解しています。

6
chmeee

私は私の展開を維持します

/home/www.example.com/application

引数:

ホームには、1つのWebサイトのすべての可動部分が含まれます。私がもっと多くのウェブサイトを持っているなら、私はそれらを見つける場所を知っています。

0
Ivailo Bardarov

Debian/ubuntuベースのシステムでは、このようなアプリケーションはコンパイルされていないファイル(/ usr/libに入る)であるため、通常/ usr/shareフォルダー(つまり、/ usr/share/Ruby)にインストールされます。アプリケーションは標準のアプリケーションではないため、おそらく/ usr/local/shareに配置して、システムの更新によって上書きされるのを防ぎます。

/ optも確かに可能性があります。

0
txwikinger

通常は/ opt/app_nameに配置します。

0
fields