管理ポートを有効にする。
管理サーバへのアクセスを特定のポートかつ、SSLでのみ接続可能にするために、管理ポートを有効にする。
http://edocs.beasys.co.jp/e-docs/wls/docs81/adminguide/network.html#1158445
余裕!と思ってたら、はまったので、めも。
最初の設定は以下のとおり。
管理サーバ 非SSLポート: 7100 SSLポート: 無効 管理対象サーバ 非SSLポート: 7101 SSLポート: 無効
ちなみに、管理サーバと管理対象サーバは、同じマシン上にある。
この状態に対して、管理コンソールから管理ポートを有効にする設定を行う。
管理ポートは、7900。
変更後、管理サーバ再起動。
続けて、管理対象サーバを再起動。
(管理ポートを有効にしたので、weblogic.management.server
に指定するURLは、https://<管理サーバのIP>:<管理ポート>
になっている。)
"$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} \ -Dweblogic.Name=${SERVER_NAME} \ -Dweblogic.management.username=${WLS_USER} \ -Dweblogic.management.password=${WLS_PW} \ -Dweblogic.management.server=https://xxx.xxx.xxx.xxx:7900 \ -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" \ weblogic.Server &
起動、おっけー。
と思ったら以下のエラーが出て起動しない。。orz
*************************************************************************** The WebLogic Server did not start up properly. Exception raised: 'weblogic.management.configuration.ConfigurationException: [Configuration Management:150019]管理サーバ (https://XXX.XXX.XXX.XXX:7900) にアクセスするために指定されたアドレスが、期待どおりリモート アドレスにではなく管理対象サーバのローカル アドレス (XXX.XXX.XXX.XXX:7900) に解決されます。あるいは、ドメイン管理ポートを設定している場合には、ローカルの管理対象サーバのポートがすでに使用中の可能性があります。コンフィグレーションを確認して問題を解決してください。 - with nested exception: [javax.naming.NoInitialContextException: JNDI subsystem is not ready for use ]' Reason: weblogic.management.configuration.ConfigurationException: [Configuration Management:150019]管理サーバ (https://XXX.XXX.XXX.XXX:7900) にアクセスするために指定されたアドレスが、期待どおりリモート アドレスにではなく管理対象サーバのローカル アドレス (XXX.XXX.XXX.XXX:7900) に解決されます。あるいは、ドメイン管理ポートを設定している場合には、ローカルの管理対象サーバのポートがすでに使用中の可能性があります。コンフィグレーションを確認して問題を解決してください。 - with nested exception: [javax.naming.NoInitialContextException: JNDI subsystem is not ready for use ] ***************************************************************************
メッセージの意味が分からず、数時間うろうろしたけど、どうやら。
同じマシン上に管理サーバと管理対象サーバがあったら。
管理対象サーバにも専用の管理ポートを設定してあげなくちゃいけない。
そうしないと、管理対象サーバはデフォルトで設定している管理ポート(この場合だと7900)をリスンしようとする。
しかし、デフォルトの管理ポートは既に管理サーバがリスンしているため、管理対象サーバではリスンできずに起動が失敗する。
ということらしい。
管理ポートをリスンするのは管理サーバだけだと思っていたのが、そもそもはまった原因。
管理対象サーバも管理ポートをリスンするのね。。
ちなみに、設定は管理コンソールだと、サーバの[コンフィグレーション]->[一般]->[詳細オプション]->[ローカル管理ポートの有効化] で行う。
今回は、ここに7901を設定。
この後、管理対象サーバを起動したらつつがなく起動した。
はぁ。。
起動後、WebLogicのマニュアルを見直していたら、
ドメイン全体の管理ポートを使用するドメイン内の同じコンピュータ上で複数のサーバ インスタンスが動作する場合は、以下のいずれかを行う必要がある。
・それらのサーバ インスタンスをマルチホームマシンでホストし、各サーバ インスタンスにユニークなリスン アドレスを割り当てる。
・・・
どうやら、これが、今回の件の説明だったらしい。
分かりにくいよ、これ。
1回読んでたんだけど、関係ないと思って飛ばしてたもん。