ポートの競合によりOracle HTTP Serverが起動できない場合に、次のエラーが発生することがあります。
[VirtualHost: main] (98)Address already in use: make_sock: could not bind to address [::]:7777
解決方法
そのポートをすでに使用しているプロセスを判別し、Oracle HTTP ServerのIPポート・アドレスか、競合しているプロセスのポートを変更します。
注意:
OHSインスタンスが構成ウィザードで作成された場合、自動的なポート管理は行われません。同じリスニング・ポートを使用して複数のインスタンスを作成することが可能です。
1つのシステム上で実行中のhttpdプロセスが多すぎると、通常処理のためのリソースが不足し、レスポンス時間が低下します。
解決方法
マシンが対処できる値までMaxRequestWorkers
の値を下げます。
1024未満のポートでOracle HTTP Serverを起動しようとすると、次のエラーが発生します。
[VirtualHost: main] (13)Permission denied: make_sock: could not bind to address [::]:443
1024未満のポートでは、Oracle HTTP Serverは起動しません。これは、これらのポートをバインドするには、root権限が必要になるためです。
解決方法
特権ポートでのOracle HTTP Serverインスタンスの起動(UNIXのみ)の手順に従って、特権ポートでOracle HTTP Serverを起動します。
このログ・ファイルは、mod_rewriteが使用されている場合のデバッグに必要です。このログ・ファイルでは、リライト・エンジンによるリクエストの変換方法の詳細分析が生成されます。LogLevel
ディレクティブの値は詳細レベルを制御します。
このログ・ファイルでは、CGIスクリプトからの入出力を記録できます。このファイルはテストにのみ使用し、本番サーバーには使用しないでください。
関連項目:
次のApache HTTP Serverドキュメントの「ScriptLog」
http://httpd.apache.org/docs/current/mod/mod_cgi.html#scriptlog
リモート・ホスト(管理サーバーを持たず、管理対象サーバーのみを持つホスト)にインストールされているOracle HTTP Serverインスタンスを回復する必要がある場合、このシナリオでは、pack.sh
とunpack.sh
が動作しないので、tar
とuntar
を使用する必要があります。
次に、Oracle HTTP Serverの実行時に発生する可能性があるフォーマンスの問題とその解決策を示します。
Oracle HTTP Serverは内部処理にロック(つまりロック・ファイル)を使用します。これらのファイルはロックが作成されると動的に作成され、ロックが取得または解放されるたびにアクセスされます。これらのファイルが低速なファイル・システム(たとえばネットワーク・ファイル・システム)に置かれると、サーバーのパフォーマンスが低下する場合があります。この問題を回避するには:
Linuxの場合:
httpd.confで、Mutex
fnctl:fileloc default
をMutex
sysvsem
default
に変更します。ここで、fileloc
はディレクティブLockFile
(2箇所)の値です。
Solarisの場合:
httpd.confで、Mutex
fnctl:fileloc default
をMutex pthread default
に変更します。ここで、fileloc
はディレクティブLockFile
(2箇所)の値です。
mod_cgidモジュールは、デフォルトでは有効になっていません。有効な場合、このモジュールはUNIXソケットを内部で使用します。UNIXソケットが低速なファイル・システム(たとえばネットワーク・ファイル・システム)に置かれると、大幅なパフォーマンスの低下が発生することがあります。次のディレクティブを設定して、この問題を回避できます。
mod_cgidが有効な場合は、ScriptSock
ディレクティブを使用してmod_cgidのUNIXソケットをローカル・ファイルシステムに配置します。
一部の極端な構成では、OHSのエラー・ログに次のメッセージが表示されます。
dms_fail_shm_expansion: out of DMS shared memory in pid XXX, disabling DMS; increase DMSProcSharedMem directive from YYY
これは、OHS DMSに必要な共有メモリーの誤った計算によるものです。これは、DMSProcSharedMem
をデフォルトの4096より大きい値に設定することで解決できます。問題が解決するまで継続してDMSProcSharedMem
を50%ずつ高く設定します。DMSProcSharedMem
の最小値は256バイトで、最大値は65536です。
数百から数千もの多くの仮想ホストを持つ構成で、前述の回避策で解決できない場合は、かわりに環境変数OHS_DMS_BLOCKSIZE
をOracle HTTP Serverがエラーなく開始する十分大きな値に設定できます。この変数の値は数キロバイトであり、524288は開始値として適切です。エラーが繰り返される場合は、Oracle HTTP Serverがエラーなく開始するまで値を50%ずつ増加させてください。
NFS(ネットワーク・ファイル・システム)を含む共有ファイルシステム上でOracle HTTP Serverインスタンスを生成する際に、機能上や性能上の問題が生じた場合には、デフォルト構成のファイルシステム・アクセスに起因する可能性があります。この場合、オペレーティング・システムに固有のhttpd.confファイルを更新する必要があります。このファイルの更新の詳細は、共有ファイルシステムでのOracle HTTP Serverコンポーネント構成の更新を参照してください。
AIXでOracle HTTP Serverを実行している場合、ファイル・ハンドラのULIMIT値が小さいと、AIXでノード・マネージャのコンソール/ログから「java.io.IOException: error=24, Too many open files」エラーがスローされます。
回避策
この問題を解決するには、次の手順に従ってファイル・ハンドラのULIMIT値を大きくします。
ルート・ユーザーとしてログインします。
/etc/security/limitsファイルを開きます。
このファイルを編集して、次の値を設定します。
nofiles=8192
nofiles_hard=65536
マシンを再起動して、この変更を有効にします。
Oracle HTTP Serverウォレットに、Message Digest 5 (MD5)アルゴリズムを使用して署名された証明書または証明書リクエストが含まれている場合は、Oracle HTTP Serverは起動に失敗します。
解決方法: MD5証明書をSecure Hash Algorithm 2 (SHA-2)証明書と置き換えます。
回避策: MD5がサポートされた証明書を有効にするには、ohs.plugins.nodemanager.propertiesファイル内のORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES
環境変数を1
に設定します。
Oracle HTTP Serverで環境変数を設定するには、「環境変数の構成プロパティ」を参照してください。