的に使用して、HTTPポートを選択します。ただし、状況によっては、OPMNがリスナーの pingに使用するHTTPポートとホスト名に特定のものを選択する場合があります。
OpmnHostPortが取る引数は1つで、OPMNに渡す値を指定するhost:port文字列です。
たとえば、次の行は、OPMNがこのリスナーをpingするために、localhostインタフェース とポート7778を使用する必要があることを指定します。
OpmnHostPort localhost: 7778
このディレクティブは、httpd.confファイルのグローバル・セクションに指定する必要が あります。ロケーション・コンテナの仮想ホストに埋め込むことはできません。インストー ル後、OpmnHostPortディレクティブはdms.confに置かれます。このディレクティブは、
特殊なローカルホスト専用仮想ホストである、Oracle HTTP Serverの診断ポートに対する OPMNを指します。Oracle Enterprise Manager 10g Application Server Controlコンソール からのOPMNのpingやDMSのメトリック・リクエストなど、内部診断リクエストはログ に記録されません。
mod_oprocmgr
このOracleモジュールでは、プロセス管理およびロード・バランシング・サービスがJServ
プロセスに提供されます。このモジュールはJServの従来型ユーザー用です。JServは、
Oracle HTTP Server構成ではデフォルトで無効化されています。OC4Jとmod_oc4j(デ
フォルトで有効化)を使用することをお薦めします。
次の各項では、mod_oprocmgrの構成方法を説明します。各項で使用する用語の定義は、
次のとおりです。
mod_oprocmgr プロセスの起動、停止および障害検出(新規プロセスの起動による障害プ
ロセスの置換)を実行し、プロセスにロード・バランシング・サービスを提供するモジュー ル。mod_oprocmgrは、JServからのHTTPリクエストを介してトポロジ管理情報を取得 し、この情報に基づいてその機能を実行します。
Group リクエストの通信量が分散されるプロセスのセット。
サーブレット・コンテナ・プロセス サーブレット・コンテナ・プロセスサーブレット・コンテナ・プロセス
サーブレット・コンテナ・プロセス JServなどのサーブレット・コンテナを実行するJVM インスタンス。
mod_oprocmgr
Oracle HTTP Serverのモジュール 8-35
mod_oprocmgr と と と と mod_jserv の併用 の併用 の併用 の併用
mod_oprocmgrは、プロセスの自動起動、障害検出と再起動、さらにロード・バランシン グなどのインフラストラクチャ機能を提供します。これらの機能は、ApJServManualディ レクティブの新しいモードautoによって有効化されます。
mod_jservから提供される構成情報に基づいて、mod_oprocmgrは指定された数のJServ プロセスを起動し、サーバーの存続している間、JServプロセスを管理します。
メリット メリット メリット メリット
mod_oprocmgrにより、JServの機能と管理がいくつかの点で拡張されます。
■ プロセス管理
■ 構成
プロセス管理 プロセス管理プロセス管理
プロセス管理 ApJServManualoffの場合、自動的に起動して管理できるJServプロセス は1つのみです。2番目以降のプロセスは手動で起動、モニターおよび停止する必要があり ます。
ApJServManualautoの場合、JServプロセスをいくつでも自動的に起動できます。これら のプロセスの状態はmod_oprocmgrにより継続して監視され、必要に応じて中断および再 起動されます。必要な場合は、JServプロセスを手動で起動することもできます。
構成 構成構成
構成 ApJServManual onまたはApJServManual offモードを使用して複数のJServプロ セスを構成する操作は複雑で、エラーが発生しやすくなります。たとえば、10個のプロセス のバランス構成には、32個のディレクティブと10個のjserv.propertiesファイルが必 要です。
新規のautoモードで複数のJServプロセスを構成する作業の方が簡潔です。たとえば、10 個のプロセスのバランス構成には、3つのディレクティブを使用するのみで済みます。
注意 注意注意
注意: mod_oprocmgrを有効にするには、Oracle HTTP Server用に
https以外のポートが少なくとも1つ有効になっている必要があります。
mod_oprocmgr
プロセス管理用の プロセス管理用の プロセス管理用の
プロセス管理用の mod_jserv の構成 の構成 の構成 の構成
mod_jservの構成ディレクティブをよく理解している場合は、mod_oprocmgrの構成プロ セスは簡単です。構成ファイルを次に示します。
httpd.conf の変更 の変更 の変更 の変更
mod_oprocmgrを使用するには、次のディレクティブをhttpd.confファイルにインク ルードします。
<IfModule mod_oprocmgr.c>
ProcNode my-sun.us.oracle.com 7777 <IfDefine SSL>
ProcNode my-sun.us.oracle.com 80 </IfDefine>
<Location /oprocmgr-service>
SetHandler oprocmgr-service </Location>
</IfModule>
また、1つ以上の非SSLポートを指定する必要があります。セキュアな(つまり、SSL接続 のみを受け入れる)Webサイトの場合は、追加の非SSLポートを提供する必要があります。
そのためには、次のディレクティブを追加します。ポートとアドレスは実際の値に置き換え てください。
Listen <port>
<VirtualHost _default_:port>
SSLEngine Off <Location />
order deny, allow deny from all
allow from <IP address 1 of local node>
allow from <IP address 2 of local node>
allow from <IP address 3 of local node>
</Location>
</VirtualHost>
LoadModuleセクションで、mod_oprocmgrがmod_ossoの後にロードされることを確認
します。「check usrid」ステージのmod_oprocmgrのコールバック・ファンクションは、
mod_ossoのコールバック・ファンクションの前に起動する必要があります。
mod_oprocmgr
Oracle HTTP Serverのモジュール 8-37
jserv.properties の変更 の変更 の変更 の変更
次のファイルを使用します。
■ UNIXの場合: ORACLE_HOME/Apache/Jserv/etc/jserv.properties
■ Windowsの場合: ORACLE_HOME¥Apache¥Jserv¥etc¥jserv.properties
次の例に示すように、Jservがバインドされるポートを指定します。
port=8007
ポートを指定しない場合、JServプロセスではそのプロセスのポートが自動的に選択されま
す。JServプロセスにポートを自動的に選択させる場合は、次のようにportディレクティブ
を設定します。このディレクティブ全体を省略すると、エラーが発生します。
port=
次の例のように、値をカンマで区切って複数のポートを指定できます。ポートの範囲
(9000-9010)が有効な値であることに注意してください。
port=8007,9000-9010,8010
jserv.conf の変更 の変更 の変更 の変更
mod_oprocmgrとmod_jservを一緒に使用するには、JServ構成ファイル内でディレク ティブを次のように変更する必要があります。このファイルは次の場所にあります。
■ UNIXの場合: ORACLE_HOME/Apache/Jserv/etc/jserv.conf
■ Windowsの場合: ORACLE_HOME¥Apache¥Jserv¥conf¥jserv.conf
ApJServManual このディレクティブは、インフラストラクチャ機能を起動するモードautoを
受け入れます(このモードでは、mod_oprocmgrによってプロセスが管理されます)。構文 は、次のとおりです。
ApJServManual auto
モードを「On」または「Off」に設定して、標準のJServ機能も使用できます。
ApJServGroup このディレクティブでは、mod_jservを管理するプロセス管理のグループを
定義します。mod_jservを使用した場合、このディレクティブによって
ApJServBalance、ApJServHost、ApJServRouteおよびApJServShmFileディレク ティブが置き換えられます。
管理されるJServプロセスはすべて1つのグループに属する必要があり、各グループごとに 固有のApJServGroupディレクティブがあります。JServプロセスが1つのみある場合は、
そのプロセスのみを含むグループを定義する必要があります。グループ内の各プロセスの相 違点はリスニング・ポートのみであるため、そのグループにダイレクトされたリクエストは プロセス間で均等に分散されます。
mod_oprocmgr
ApJServGroupディレクティブは、グループ名、プロセス数、ノードの重みおよびプロパ ティ・ファイルという4つの引数を取ります。次の例では、グループ名はmygroup、プロ セス数は1、ノードの重みは1で、JServプロセスの起動に使用されるプロパティ・ファイル のフルパスはORACLE_HOME/Apache/JServ/etc/jserv.propertiesです。
ApJServGroup mygroup 1 1 /private2/up_1022/Apache/Jserv/etc/jserv.properties ApJServGroupMount このディレクティブでは、マウント・ポイントを定義してプロセス・グ ループとゾーンにマップします。次の例では、マウント・ポイントは/servlets、グルー プはmygroup、ゾーンはrootです。標準的なJServ構成の場合と同様に、ルーティングに はバランス・プロトコルが使用されていることに注意してください。
ApJServGroupMount /servlets balance://mygroup/root
このディレクティブを、構成ファイル内でApJServGroupディレクティブの後に置きます。
ApJServGroupSecretKey このディレクティブでは、JServでクライアントの認証に必要な秘密
鍵を指定します。このディレクティブは、次のようにすると無効化できます。
ApJServGroupSecretKey disabled
アクティブにすると、このディレクティブは1つまたは2つの引数を取ります。次の例で は、グループ引数とファイル名引数を指定しており、グループmygroupにファイル名 mysecretkeyが適用されます。
ApJServGroupSecretKey mygroup /usr/local/apache/jserv/mysecretkey
指定できるファイル名引数は、次のように1つのみです。グループが指定されていないた め、秘密鍵のファイル名はすべてのグループに適用されます。
ApJServGroupSecretKey /usr/local/apache/jserv/mysecretkey
引数が1つの構文を使用するディレクティブと、引数が2つの構文を使用するディレクティ ブは、併用できません。引数が2つの構文を使用する場合、固有の秘密鍵を持たないグルー プのデフォルトは「disabled」です。
このディレクティブを、構成ファイル内でApJServGroupディレクティブの後に置きます。
注意 注意注意
注意: ApJServSecretKeyに指定する秘密鍵ファイル内の鍵値は、
jserv.propertiesファイル内のsecurity.secretKeyディレクティ