13

免責事項:私は比較的 Linux に慣れていません。これを SuperUser または ServerFault に置くことについて議論しましたが、答えにはシステムとしての Linux の説明必要なので (特定のプログラミングの問題ではありません)、Java 開発者の観点からこれに興味があり、これは特定の問題であると主張します。 GlassFish をインストールする場所は、Java 構成、そして最終的にはアプリ構成に大きく影響するためです。言うまでもなく、これらの他のサイトにこの質問を投稿しても、システム管理者よりも Java 開発者の注意を引くことはおそらくないでしょう。Java について十分に理解していないため、この決定を十分に検討することはできません。

GlassFish をインストールする場所を決定しようとしていますが、(現実的に) 4 つの実行可能なオプションがあるようです。

  • /opt/glassfish/
  • /usr/local/glassfish/
  • /home/myUsers/glassfish/(これは、すべての OGS ドキュメントの例で示されているものです)
  • /home/ogs/glassfish(独自のユーザーとして、Apache Web サーバーが時々セットアップされる方法と同様)

各アプローチの長所 (Linux がこれらのディレクトリを異なる方法で処理する方法の性質、FHS などを考慮して) と短所が何であるか疑問に思っています。

の下にインストールすると、マウント/パーティション化の利点があることを読みましたopt/。ただし、通常はサードパーティ製のソフトウェアを にインストールするusr/local/ので、戦略としては少し自信がありません。

Oracle GlassFish Server (OGS) のドキュメントはすべて、GlassFish がホーム ディレクトリ ( ) にインストールされていることを示しています (ただし、完全に推奨するものではありませんhome/myUser/)。

繰り返しになりますが、デーモンタイプのサービスをインストールすることはかなり一般的であることを読みました (これは、GlassFish を 1 回起動すると、定期的なメンテナンスまたはクラッシュの場合にのみダウンする場所として使用すると想像するものです)。自分のユーザー ( home/ogs/glassfish/)。

この決定は、GlassFish をどのように使用するかによっても影響を受けると確信しているため、いくつかの制約を付けてこの質問を限定させてください。

  • 同じ物理マシン上の 4 つの VM に 4 つの OGS インスタンスをデプロイし、それらを同じドメインにクラスター化する予定です (4 つのサーバー インスタンスのうちの 1 つがドメインの管理サーバーになります)。
  • いくつかのアプリケーションがこのクラスター (3 つの非管理ノードすべて) に同時にデプロイされ、24 時間 365 日実行されている必要があります。ただし、アプリケーションがクラッシュする場合 (頻繁ではないことを願っています)、またはそれらをメンテナンスまたは調整する必要がある場合を除きます。
  • 各アプリケーションは非常に大きくなり、デフォルト設定の「最低限の骨」ではなく、実際の管理者で構成したいと思います

この選択を行うのに十分な具体的な情報が得られない場合は、質問してください。より具体的に説明できます。

一日の終わりにほこりが落ち着いたら、4つのディレクトリオプション(および省略した他の明らかなもの)のそれぞれを含むマトリックスを(多かれ少なかれ)探していると思います。短所。

4

2 に答える 2

3

Linux ディストリビューションのパッケージ管理システムを使用して Glassfish をインストールするオプションもあります。たとえば、Ubuntuでは、次を使用してインストールできます

sudo apt-get install glassfish-appserv

そして、パッケージの所有者がインストールすべきだと思った場所にインストールさせます。

私自身は、Glassfish (または他の Java サーバー/ソフトウェア) の正確なバージョンとその場所を自分で制御したいので、上記のオプションから遠ざかる傾向がありますが、それを捨てたかっただけです。できることの一つです。

提供した個々のオプションについては、次のとおりです。

/opt/glassfish/ 私に関する限り、これは好ましいオプションです。通常のLinuxインストールとは別のディレクトリにソフトウェアを保持し、言及したマウントとパーティション分割の利点を可能にします.

/usr/local/glassfish/ /usr/local は一般的に、ディストリビューションのパッケージ管理ソフトウェア (apt/yum/etc) を使用してインストールされるサードパーティ ソフトウェアによって使用され、ほとんどのディストリビューションではbinなどのディレクトリとその下のlib。その下にグラスフィッシュのディレクトリを置くと、場違いになります。

また、ディストリビューションのパッケージ管理ツールを使用しないカスタム ソフトウェアとは別に、システム ディレクトリを保持することを好みます。

/home/myUsers/glassfish/ , /home/ogs/glassfish

この2つは、お勧めしません。

作成者は、ユーザーがこれらのボックスで root アクセス権を持っていると想定したくないため、ほとんどの場所でしか説明されていません。その場合、所有が保証されるのはホーム ディレクトリだけです。システムを所有し、管理している場合、これらの制限は適用されません。

ホーム ディレクトリは特定のユーザー用であることを忘れないでください。サーバー ソフトウェアは、必要な権限を持つ個々のユーザーのアカウントで管理することを常にお勧めします。ソフトウェアを誰かのホーム ディレクトリに置くということは、次のいずれかを意味します。

  1. Glassfish を管理する必要があるすべての人に、そのユーザー アカウントのパスワードを提供します
  2. 特定のユーザーのホーム ディレクトリへの読み取り/書き込みアクセス権を複数のユーザーに付与します。

いずれにせよ、それは良いシステム管理ポリシーではありません。

ここには Java の観点はあまりありませんが、私に言わせれば、その必要はありません。

于 2012-05-19T16:13:03.600 に答える
2

以前の推奨事項に関しては、いくつかのトレードオフが残っています。

  • /opt または /usr/local に配置する場合、これらのディレクトリへの読み取り/書き込みアクセスが必要になります。つまり、ボックスへのルート アクセスが必要になります。一部の環境 (IT がプラットフォームを制御する環境) では、IT が root アクセスを許可しません。GlassFish バイナリのインストール、パッチ適用、およびアップグレードの責任を IT 部門に委任する必要があります。
  • /opt または /usr/local に配置する場合、ドメイン ディレクトリ (--domaindir) を別の場所に配置する必要があります (可能性は低いですが) root に所有させたい場合を除きます。これは、Linux での GlassFish 2.x RPM インストールのデフォルトです。GlassFish 3.x には (とにかく Oracle からの) RPM インストールはありませんが、2 つを分割することはできます。これは悪いトレードオフではありませんが、理解しておく必要があります。
    • 「ホーム ディレクトリ」に配置されている場合、コア バイナリのアップグレード、パッチのインストールなどを IT 部門とは別に行う権利があります。このアプローチには、組織の責任に応じて、良い/悪い/醜いがあります。

お役に立てれば。

于 2012-05-21T00:38:12.017 に答える