HOWTO: UNIXで複数のWrapperインスタンスを実行する方法 |
||||||||||
Wrapperでは、同じシステム上で特別な設定を必要とせず、複数のインスタンスを簡単に動かせるように設計されています。 これは、それぞれのアプリケーションごとにそれぞれのディレクトリーで、 時にアプリケーション名と同じディレクトリーで動作している個別のアプリケーションに依存しています。 混乱を避けるために一番良いのは、異なるディレクトリーで動作させるときでも、 それぞれのアプリケーションごとに名前を持たせるのが良いでしょう。 Wrapperでインテグレーションされた典型的な動作アプリケーションは、 次のようなディレクトリー構造を持っています:
この例では、「myapp.
このスクリプトが動作するとき、どの相対パスもシェルスクリプトの配置場所に対する相対的な位置です。 (しかしながら、Wrapper自身が起動される場合には、Wrapperバイナリの場所にその作業ディレクトリーが設定されます)
Wrapperが起動されるとき、PIDファイル「"$PIDDIR/$APP_NAME. シェルスクリプトの設定状況次第ですが、 Wrapperは、同じネーミングパターンで次のファイルを利用することもあります:
また、一部のUNIXプラットフォームではロックディレクトリー「/var/lock/subsys」を定義します。 ディレクトリーが存在していて書き込み可能なとき、Wrapperもまた ロックファイル「/var/lock/subsys/$APP_NAME」へ書き込みます。 このロックファイルを利用することで、そのプラットフォームで現在どのサービスが動作中かを判断します。 ルールとして、異なるディレクトリーに配置されていたとしても、同じ名前で複数のアプリケーションを動作させないためには良いアイデアです。 もし、そうしないと、最後に開始されたアプリケーションがロックファイルを上書きして、 最初に開始していたアプリケーション用のロックファイルが削除され、シャットダウンされます。 これはWrapperのシェルスクリプトには影響ありませんが、他の管理ソフトで問題を引き起こす可能性があります。
もし物理的に同じWrapperバイナリを使って2つのアプリケーションを動作させたい場合には、
両者とも同じ作業ディレクトリーで動作させてください。
つまり、2つのアプリケーションが異なるアプリケーション名($APP_NAME)で
異なるシェルスクリプトを持っていることを確認する必要があり、
また異なる「wrapper.
[wrapper. |