解凍した同じtarball構成を使用して、サーバー上の複数の場所にソフトウェアをインストールします。

解凍した同じtarball構成を使用して、サーバー上の複数の場所にソフトウェアをインストールします。

一部のAWS Linuxサーバーを再構築しています。企業サーバーがApache WebサーバーインスタンスとTomcatからAPR(Apache Portable Runtime)をダウンロードするのを見ます。

複数の異なる場所/ソフトウェア(APRからTomcatおよびApache Webサーバーへ)にインストールを構成するとどうなりますか?

実行して./configure --prefix=/opt/tomcat/からやり直すと、./configure --prefix=/opt/apache2/この場所にパッケージがダウンロードされていることがわかります。

大丈夫ですか?このようにしても問題ありませんか?

私はOpenSSLがApacheとTomcatにダウンロードされた以前のサーバーでこれを行ったことを見たことがあり、同じ方法で行われたと仮定します。しかし、このアプローチがなぜ良いのか悪いのかについての良い説明を聞きたかったのです。

ベストアンサー1

はい、できます。それがプレフィックスのポイントです!ただし、これらのサーバーを実行するときは、ライブラリと実行可能ファイルが実際に別のプレフィックスから取得されるように、およびPATHその他の環境変数を適切に調整する必要があります。LD_LIBRARY_PATH

追加インストール同じ2つの場所にバイナリを置くことはあまり意味がありません(保存と管理の問題以外には費用がかかりません)。異なる構成で1つのサーバーのみを実行できます。正確な動作方法は個々のサービスによって異なります。

しかし、正直なところ、そのような標準ソフトウェアを直接コンパイルするのは少し奇妙です。知るなぜこれを行うべきですか?特にサーバー/クラウドの世界では、通常は1つのサービスしかありません。できるだけ簡単にインストールします。何らかの理由で同じサービスの2つのインスタンスが必要な場合は、両方をコンテナに入れて、ホストに関連付けられているデータディレクトリを共有できます。システム。

したがって、この質問については次のことを理解する必要があると思います。

  1. このサービスは実際に何をしていますか?
  2. ソースからビルドされるのはなぜですか、2つの別々のインストールが必要なのはなぜですか?
  3. 2つのインスタンスが共有する必要があるリソースは何ですか?たとえば、両方のWebサーバーは同じIPアドレスのTCPポート80に同時に応答できないため、機能しません。 2つの異なるTomcatアプリケーションがまだデータベースを共有しようとしている可能性があります。これは問題ではありません。ただし、すべてが同じログファイルに書き込もうとすると、状況が速く悪化する可能性があります。
  4. AWS のすべてのサービスで、2 つのサービスインスタンスが各コンテナで互いに分離されないのはなぜですか?

おすすめ記事