Oracle HTTP Server スタンドアロン・デプロイの管理Apache 2.0ベース 10g(10.1.3.1.0) B31848-02 |
|
この章では、Oracle HTTP Serverプロセスの概要と、これらのプロセスを制御し、モニターする方法について説明します。
内容は、次のとおりです。
該当する場合は、Apache Software Foundationのマニュアルを参照しています。
Oracle HTTP Serverを起動すると、システムでhttpまたはhttpsリクエストをリスニングしてレスポンスを返す準備ができたことになります。リクエスト処理モデルは、UNIXとWindowsで異なります。
UNIXの場合は、複数の子プロセスを管理する親プロセスが1つ存在します。子プロセスは、リクエストの処理を担当します。親プロセスは、構成に基づき、必要に応じて追加の子プロセスを起動します。追加の子プロセスを動的に起動することは可能ですが、最初に十分な数の子プロセスが起動されるようにサーバーを構成し、子プロセスをそれ以上作成しなくてもリクエストを処理できるようにすることをお薦めします。
Windowsの場合は、親プロセスと子プロセスが1つずつ存在します。子プロセスは、クライアント・リクエストの処理を担当するスレッドを作成します。作成されるスレッドの数は静的であり、構成可能です。
UNIXでは、デフォルトで、メインのhttpd親プロセスと子プロセスがOracle Application Serverをインストールしたユーザーとして動作するよう構成されます。子プロセスの権限を設定するには、UserおよびGroupディレクティブを使用します。root
として実行していない場合、これらのディレクティブは無視されます。子プロセスには、処理されるすべての内容を読み取ることのできる権限が必要です。
サーバーがリクエストへのレスポンスに使用するグループを指定します。このディレクティブを使用するには、スタンドアロン・サーバーをroot
で実行する必要があります。サーバーの実行用に新規グループを作成することをお薦めします。このディレクティブはUNIXにのみ適用されます。
例: Group myorg
サーバーがリクエストへのレスポンスに使用するユーザーIDを指定します。このディレクティブを使用するには、スタンドアロン・サーバーをroot
で実行する必要があります。任意のユーザーが使用できるファイルへのアクセス権限が必要ですが、httpdリクエスト用以外のコードは実行できないようにする必要があります。サーバーの実行用に新規ユーザーを設定することをお薦めします。このディレクティブはUNIXにのみ適用されます。
例: User jdoe
次のディレクティブを使用して、クライアント・リクエストの処理方法を構成し、Oracle HTTP Serverのパフォーマンスをチューニングします。これらのディレクティブは、httpd.conf
ファイルのGlobal Environmentセクションにあります。
Oracle HTTP Serverの起動時に作成される子サーバー・プロセスの数を設定します。デフォルトは5です。このディレクティブはUNIXにのみ適用されます。
使用方法: StartServers 5
リクエストを処理する子スレッドの最大数を制御します。デフォルトは50です。このディレクティブはWindowsにのみ適用されます。
使用方法: ThreadsPerChild 50
一度に処理できるリクエスト数を制限します。デフォルト値と推奨値は150です。このディレクティブはUNIXにのみ適用されます。
使用方法: MaxClients 150
子プロセスで終了前に処理されるリクエスト数を制御します。値をデフォルトの0に設定すると、プロセスは終了しません。
Windowsでは、これを0に設定することをお薦めします。0以外の値に設定すると、リクエスト数に達したときに子プロセスが終了し、再作成されます。その際、子プロセスは構成ファイルを再度読み取ります。そのため、構成ファイルを変更したが、変更を適用するつもりはないという場合に、予期しない処理が行われる可能性があります。
使用方法: MaxRequestsPerChild 0
アイドル状態の子サーバー・プロセスの最大数を設定します。アイドル・プロセスは、稼働中であってもリクエストを処理していないプロセスです。親プロセスは、このディレクティブの設定値を超えるアイドル状態の子プロセスを中断します。デフォルトは20です。このディレクティブはUNIXにのみ適用されます。
使用方法: MaxSpareServers 20
アイドル状態の子サーバー・プロセスの最小数を設定します。アイドル・プロセスは、稼働中であってもリクエストを処理していないプロセスです。アイドル状態のプロセス数が減少すると、親プロセスにより最大で1秒当たり1プロセスの割合で新規の子プロセスが作成されます。デフォルトは5です。このディレクティブはUNIXにのみ適用されます。
使用方法: MinSpareServers 5
UNIXでは、1024以外のポート上で実行するには、root
として実行する必要があります。
Oracle HTTP Serverをroot
として実行する手順は、次のとおりです。
ORACLE_HOME/opmn/bin> opmnctl [verbose] stopproc ias-component=HTTP_Server
ORACLE_HOME
/ohs/bin
にナビゲートして、次のコマンドを実行します。
chown root .apachectl chmod 6750 .apachectl
root
を終了します。
ORACLE_HOME/opmn/bin> opmnctl [verbose] restartproc ias-component=HTTP_Server
UNIXでのセキュリティ強化には、ユーザーをnobodyに変更できます。子プロセスがユーザーnobodyとしてタスクを実行できることを確認してください。すべてのファイルがユーザーnobodyにより読取り可能になるように(理想的には書込み可能にならないように)静的コンテンツ(UNIXの場合はORACLE_HOME
/ohs/htdocs
ディレクトリ、Windowsの場合はORACLE_HOME
¥ohs¥htdocs
ディレクトリなど)をすべて変更します。また、すべてのCGIおよびFastCGIプログラムをユーザーnobodyが実行できることも確認してください。
最後に、キャッシュ済コンテンツには機密データが含まれている可能性があるので、ファイル・システム・キャッシュの最終コンテンツはセキュリティで保護する必要があります。したがって、Oracle HTTP Serverがnobodyとして動作する場合でも、このユーザーとしてのシステムへのアクセスは十分に保護する必要があります。
Oracle HTTP Serverプロセスをモニターするには複数の方法があります。
ps
ユーティリティを使用します。
|
![]() Copyright © 2007 Oracle Corporation. All Rights Reserved. |
|