![]() |
![]() |
|
|
| |
以下の節では、管理サーバと管理対象サーバを起動および停止する手順について説明します。
WebLogic 管理サーバと WebLogic 管理対象サーバ
WebLogic Server ドメインは、1 つまたは複数の WebLogic Server で構成されます。WebLogic Server は、管理サーバまたは管理対象サーバのいずれかとして起動できます。ドメイン内の WebLogic Server の中で 1 つだけが、そのドメインの管理サーバになります。他の WebLogic Server は、管理対象サーバです。WebLogic Server が管理サーバなのか、それとも管理対象サーバなのかは、サーバを起動するときに使用するコマンドライン オプションによって決まります。
WebLogic Server のデフォルトのロールは管理サーバです。したがって、ドメインに 1 つの WebLogic Server しかない場合は、そのサーバが管理サーバになります。マルチサーバ ドメインの WebLogic Server は、起動時に動作中の管理サーバからコンフィグレーションを取得するように指定されている場合だけ管理対象サーバになります。
管理サーバでは、WebLogic Server ドメインのコンフィグレーションへのアクセスが管理されるほか、モニタやログ メッセージの参照といった他の管理サービスも提供されます。管理サーバには、管理サービスにユーザがアクセスできるようにする Administration Console があります。
WebLogic 管理対象サーバは、起動時に管理サーバからコンフィグレーションを取得します。このため、マルチサーバの WebLogic Server ドメインを起動する手順は 2 段階になります。まず、管理サーバを起動し、その後で管理対象サーバを起動します。
注意: 同じドメイン内にある管理サーバとすべての管理対象サーバで、WebLogic Server のバージョンは同じでなければなりません。管理サーバには、管理対象サーバと同じか、またはより新しいレベルのサービス パックを適用する必要があります。たとえば、管理対象サーバがリリース 6.1 SP1 の場合、管理サーバではリリース 6.1 SP1 または SP2 のどちらかを使用できます。一方、管理対象サーバが SP2 の場合、管理サーバは SP2 でなければなりません。各サーバの名前は、それぞれが異なるドメインに存在する場合であっても固有でなければなりません。
起動メッセージ
WebLogic Server の起動時には、通常のロギング サブシステムはまだ利用できません。したがって、起動時に発生したエラーは stdout
に記録されます。ノード マネージャを使用して、Administration Console からリモートの管理対象サーバを起動する場合、それらのメッセージは Administration Console の右ペインにも表示されます。
管理サーバには、ドメインのコンフィグレーション リポジトリ (config.xml
)、セキュリティ ファイル、およびアプリケーション ファイルが存在しているので、管理サーバの障害によりこれらのファイルが利用できなくなる場合に備えて、ファイルのコピーをアーカイブして保持する必要があります。アーカイブの一般的な方法としては、定期的なバックアップ、フォールト トレラントなディスク、ファイル変更後に手作業で必ず行うファイルのコピーなどがあります。Administration Console、weblogic.admin
コマンド、または JMX API を使って行った Weblogic Server のコンフィグレーションに対する変更はすべて、config.xml
ファイルに保持されることに注意してください。
管理サーバでクラッシュやその他の障害が発生したときに迅速にフェイルオーバを実行するには、元の管理サーバが利用不能になった場合に使用できる状態になっている異なるマシン上に、管理サーバの別のインスタンスを作成しておきます。
コンフィグレーション、セキュリティ、およびアプリケーションのファイルをバックアップしてあれば、管理対象サーバの機能を妨げないで、別のマシン上の管理サーバを安全に再起動できます。その方法については、 管理対象サーバの動作中における管理サーバの再起動を参照してください。
WebLogic 管理サーバを起動するには、以下の複数の方法があります。
WebLogic Server を起動するコマンドは、コマンド シェルに手動で入力するか、またはサーバを起動するたびにコマンドを入力しなくて済むようにスクリプトに配置できます。サンプル スクリプトについては、「 スクリプトを使用した WebLogic 管理対象サーバの起動」を参照してください。
注意: WebLogic Server の起動時に多数のクラスをロードしようとすると、JDK 1.3 が OutOfMemory エラーを送出する場合があります。このエラーは、十分なメモリが利用できるように見える場合であっても発生します。WebLogic Server を起動すると java.lang.OutOfMemory
エラー例外が発生する場合は、次の JMS オプションの値を大きくしてください。
java -XX:MaxPermSize=<value>
<value>
はキロバイト単位の値です。
JDK 1.3.0 の場合、MaxPermSize
に対する JVM のデフォルト値は、32m (m はメガバイトの略)の max
値です。JDK1.3.1 の場合は、MaxPermSize
のデフォルト値は 64m です。
WebLogic Server 起動時のパスワードの使用
インストール時には、サーバの起動時に必要になるパスワードを指定する必要があります。起動スクリプトを使用して管理サーバまたは管理対象サーバを起動する場合は、パスワードをコマンドライン引数として指定できます(「 コマンドラインからの WebLogic 管理サーバの起動」を参照)。パスワードがコマンドライン引数として指定されていないスクリプトを使用してサーバを起動すると、パスワードを入力するように要求されます。パスワードがコマンドライン引数として指定されている場合は入力の要求はされませんが、そのパスワードはスクリプト ファイルにクリア テキストで格納されます。
[スタート] メニューを使用した WebLogic 管理サーバの起動
BEA インストール プログラムを使用して Windows に WebLogic Server がインストールされている場合は、Windows の [スタート] メニューにある WebLogic Server のショートカットを使用して WebLogic 管理サーバを起動できます。次のように選択してください。
[スタート|プログラム|BEA WebLogic E-Business Platform|WebLogic Server バージョン|Start Default Server]
バージョンは、WebLogic Server ソフトウェアのバージョン番号です。
[スタート] メニューから WebLogic Server を起動すると、起動スクリプトの startWeblogic.cmd
が実行されます。このスクリプトは、install_dir
\config
\domain_name
に配置されています(domain_name
はドメイン名。install_dir
は WebLogic Server ソフトウェアをインストールしたディレクトリ名)。パスワードを入力することが要求されます。
Windows サービスとしての WebLogic Server の起動と停止
Windows サービスとしてインストールされている WebLogic Server は、Windows コンピュータが起動すると自動的に起動します。WebLogic Server は、startWeblogic.cmd
などの起動スクリプトを実行することによって起動します。startWebLogic.cmd
を使用して起動した WebLogic Server は、管理サーバとして起動します。「
コマンドラインからの WebLogic 管理サーバの起動」を参照してください。
WebLogic Server を Windows サービスとして実行するには、そのことを前提として WebLogic Server をインストールする必要があります。Windows サービスとしての WebLogic Server をインストールおよび削除する方法については、「 Windows サービスとしてのWebLogic Server インスタンスの設定」を参照してください。
WebLogic Server は、コントロール パネルの [サービス] を使用しても簡単に停止および起動できます。
WebLogic Server
を見つけます。WebLogic Server が「開始」状態の場合は、WebLogic Server を選択することで [停止] ボタンを使用できるようになります。[停止] ボタンをクリックすると、WebLogic Server が停止します。WebLogic Server が停止状態の場合は、[開始] ボタンを使用できます。
Windows サービスは、[スタートアップ] ボタンをクリックしてモードを選択することで、自動、手動、または無効として設定できます。
WebLogic Server は Java クラス ファイルであり、他のどの Java アプリケーションとも同じように、java
コマンドを使用して起動できます。コマンドラインから WebLogic Server を起動するために必要な引数は、かなり長くなる場合があり、起動のたびに入力するのは面倒です。起動コマンドの入力ミスを防ぐために、WebLogic Server を起動するときに使用できるスクリプトにコマンドを組み込むことをお勧めします。
java
コマンドラインから WebLogic 管理サーバを起動するときには、以下の引数が必要です。
たとえば、デフォルトの 64 MB の Java ヒープ メモリを WebLogic Server に割り当ててサーバを起動するとします。そのためには、java
-ms64m
および -mx64m
オプションを使用してサーバを起動できます。
最高のパフォーマンスを得るには、JVM がヒープのサイズを変更しないように最小値と最大値を同じにしてください。
パラメータに割り当てられたこれらの値は、WebLogic Server のパフォーマンスに大きく影響する可能性があり、ここでは一般的なデフォルト値としてのみ紹介しています。プロダクション環境では、実際のアプリケーションや環境に合った適切なメモリ ヒープ サイズを慎重に判断する必要があります。
java -classpath
オプションを設定します。
このオプションで指定する最低限の内容は、「 クラスパス オプションの設定」で説明されています。
ドメインのコンフィグレーションでは、サーバ名に基づいてコンフィグレーションが指定されます。コマンドラインでサーバの名前を指定するには、次の引数を使用します。
-Dweblogic.Name=
servername
デフォルト値は myserver
です。
管理対象サーバを同じドメイン内の別のマシン上で実行する(または管理サーバと管理対象サーバをマルチホーム マシン上で実行する)場合、またはノード マネージャを使用してリモートで管理対象サーバを起動する場合、管理サーバのリスン アドレスを設定する必要があります。リスン アドレスを設定するには、次の引数を使用します。
-Dweblogic.ListenAddress=
host
host
は管理サーバの DNS 名または IP アドレスです。
デフォルト ユーザは system
であり、必要なパスワードはインストール時に指定されたパスワードです。パスワードを入力するには、次の引数を使用します。
-Dweblogic.management.password=
password
weblogic.Server
コマンドを実行した時点のディレクトリ)を使用しない場合、WebLogic Server ルート ディレクトリを指定します。ルート ディレクトリを指定するには、次の引数を使用します。
-Dweblogic.RootDirectory=
path
path は config\
server-root の上位のディレクトリです。
たとえば、サーバのルート ディレクトリが c:\myproject\config\Mydomain
の場合、-Dweblogic.RootDirectory=c:\myproject
のように指定します。詳細については、
サーバのルート ディレクトリを参照してください。
bea.home
ディレクトリを次のように指定します。
-Dbea.home=
root_install_dir
root_install_dir
は BEA WebLogic Server ソフトウェアをインストールしたディレクトリです。
-Dweblogic.management.pkpassword=
pkpassword
pkpassword
は、SLL プライベート キーのパスワードです。
-Dweblogic.security.SSL.ignoreHostnameVerification=true
ただし、プロダクション デプロイメントでデモ用デジタル証明書を使用したり、ホスト名検証をオフにしたりすることはお勧めしません。
-Dweblogic.security.SSL.HostnameVerififier=
hostnameverifierimplmentation
hostnameverifierimplmentation
は、weblogic.security.SSL.HostnameVerifier
インタフェースを実装するクラスの名前です。
-Dweblogic.security.SSL.sessionCache.size=
sessionCacheSize
-Dweblogic.security.SSL.sessionCache.ttl=sessionCacheTimeToLive
sessionCacheSize
はセッション キャッシュのサイズを表し、sessionCacheTimeToLive
はセッション キャッシュの秒単位での存続期間を表します。2 つのパラメータの最小値、最大値、およびデフォルト値は次のとおりです。
sessionCache.size
: 最小値 1、最大値 65537、デフォルト値 211sessionCache.ttl
: 最小値 1、最大値 Integer.MAX_VALUE
、デフォルト値 90
-Dweblogic.Domain=
domain_name
domain_name
は、ドメインの名前です。この名前は、ドメインの起動に使用されるコンフィグレーション ファイルを格納するサブディレクトリの名前にもなります。
コンフィグレーション リポジトリは、\config
ディレクトリ内のドメインで構成されます。コンフィグレーション リポジトリには、使用する可能性のある多様なドメイン コンフィグレーションを格納できます。それらの各ドメインは、ドメインと同じ名前を持つ個別のサブディレクトリに配置されます。したがって、domain_name
を指定するときには、このサブディレクトリ名を指定することになります。指定されたサブディレクトリには、XML コンフィグレーション ファイル(config.xml
)とドメインのセキュリティ リソースが格納されます。ファイル config.xml
では、ドメインのコンフィグレーションが指定されます。
管理サーバの起動に使用されたドメイン コンフィグレーションが、アクティブなドメインになります。アクティブなドメインは 1 つだけです。
-Dweblogic.
attribute
=value
applications
ディレクトリを調査して、デプロイされているアプリケーションの変更を検出します。変更がないかアプリケーション ディレクトリをポーリングする AppManager スレッドは管理サーバ上でのみ作成されるので、この機能は管理サーバ上でのみ機能します。この機能は、プロダクション環境での使用はお勧めしません。自動デプロイメント機能が無効な状態で管理サーバが起動するようにするには、コマンドラインで次の引数を使用します。
-Dweblogic.ProductionModeEnabled=true
java
コマンドラインでは、-classpath
オプションの値として以下のように指定する必要があります。
/
weblogic/lib/weblogic_sp.jar
インストールされている WebLogic Server のリリース、サービス パック、またはパッチによっては、このファイルがシステム上に存在しない場合があります。ファイルが現在システム上に存在するかどうかに関係なく、すべての更新との互換性を保証するために、クラスパスに weblogic
/lib/weblogic_sp.jar
を追加することをお勧めします。このファイルは weblogic.jar
を追加する前にクラスパスに追加する必要があります。
/
weblogic/lib/weblogic.jar
/
weblogic
/samples/eval/cloudscape/lib/cloudscape.jar
/
weblogic
/lib/poolorb.jar
weblogic
は、WebLogic Server がインストールされているディレクトリです。
サーバのルート ディレクトリ
WebLogic Server のすべてのインスタンスはルート ディレクトリを使用して、実行時データを格納し、サーバのコンフィグレーションにおけるすべての相対パス名のコンテキストを提供します。たとえば、サーバのログ ファイルの名前と場所を ./MyLogFile
のように指定する場合、サーバはそのルート ディレクトリに MyLogFile
という名前のファイルを作成します。
また、管理サーバはそのルート ディレクトリを、ドメインのコンフィグレーション データ(config.xml
など)とセキュリティ リソース(fileRealm.properties
など)のリポジトリとして使用します。
図 2-1 を参照してください。
図2-1 WebLogic Server インスタンスのルート ディレクトリ
サーバのルート ディレクトリは、config
という名前のディレクトリの下位でなければなりません。たとえば、次の 2 つのディレクトリは有効なルート ディレクトリです。
c:\config\MyManagedRootDir
c:\config\MyDomain
一方、c:\MyManagedRootDir
のようなルート ディレクトリは無効です。
一般的な習慣としては、管理サーバのルート ディレクトリにはドメインに準じた名前を付けます。たとえば、ドメインの名前が myDomain
の場合、管理サーバのルート ディレクトリの名前は c:\config\myDomain
のようにします。
WebLogic Server の複数のインスタンスで同じルート ディレクトリを共用できます。ただし、複数のサーバ インスタンスで 1 つのルート ディレクトリを共有する場合、相対ファイル名の重複を必ず避けるようにします。たとえば、2 つのサーバが 1 つのディレクトリを共有している場合に両方のサーバで .\MyLogFile
のように指定すると、それぞれのサーバ インスタンスがもう一方のサーバの .\MyLogFile
ファイルを上書きしてしまいます。
デフォルトでは、WebLogic Server インスタンスを起動した時点のディレクトリがサーバのルート ディレクトリとなります。たとえば、c:\config\MyDomain
から weblogic.Server
コマンドを実行すると、c:\config\MyDomain
がルート ディレクトリになります。
サーバのルート ディレクトリにする以外の場所からサーバ インスタンスを起動する場合、weblogic.Server
起動コマンドに次の引数を渡すことによって別のルート ディレクトリを指定できます。
-Dweblogic.RootDirectory=
path
path
は config\
server-root
の親のディレクトリです。
たとえば、サーバのルート ディレクトリが c:\myproject\config\Mydomain
の場合、-Dweblogic.RootDirectory=c:\myproject
のように指定します。
WebLogic Server ソフトウェアの複数回のアップグレードにまたがってドメイン コンフィグレーションとアプリケーションを容易に保守できるようにするには、ルート ディレクトリと WebLogic Server ソフトウェアのインストール ディレクトリを別々にすることをお勧めします。
スクリプトを使用した管理サーバの起動
WebLogic Server 配布キットには、WebLogic Server の起動に使用できるサンプル スクリプトが付属しています。それらのスクリプトは、実際の環境やアプリケーションに合わせて修正する必要があります。管理サーバの起動用と管理対象サーバの起動用に、別々のサンプル スクリプトが用意されています。管理サーバを起動するためのスクリプトは、startWebLogic.sh
(UNIX)と startWeblogic.cmd
(Windows)です。これらのスクリプトは、ドメインのコンフィグレーション サブディレクトリに配置されています。
サンプル スクリプトを使用するには、次の作業を行います。
JAVA_HOME
の値を JDK の位置に変更します。
chmod +x startWebLogic.sh
-Dweblogic.ListenAddress=
host
host
は管理サーバの DNS 名または IP アドレスです。
管理対象サーバの動作中における管理サーバの再起動
典型的なプロダクション システムの場合、重要なビジネス ロジックが格納されているアプリケーションは管理サーバにデプロイしないことをお勧めします。その場合の管理サーバの役割は、管理対象サーバをコンフィグレーションおよびモニタすることです。このようなコンフィグレーションの場合は、管理サーバが利用できなくなっても、管理対象サーバで動作しているアプリケーションではクライアントの要求を処理し続けることができます。
管理サーバが起動すると、アクティブなドメインの起動に使用されたコンフィグレーション ファイルのコピーが作成されます。これは、次のファイルに保存されます。
install_dir
\config\domain_name
\config.xml.booted
install_dir
は WebLogic Server ソフトウェアをインストールしたディレクトリで、domain_name
はドメインの名前です。管理サーバは、起動シーケンスを正常に完了し、要求を処理できる準備ができてから、config.xml.booted
ファイルを作成します。
Administration Console から行ったアクティブ コンフィグレーションに対する変更を元に戻す必要がある場合、使用中のコンフィグレーション ファイルに復帰できるよう、このファイルをコピーしておく必要があります。
管理対象サーバが動作を続けている状況で管理サーバがダウンした場合、ドメインの管理を回復するために、すでに動作している管理対象サーバを再起動する必要はありません。アクティブなドメインの管理を回復する手順は、管理サーバが起動したときと同じマシンで管理サーバを再起動できるかどうかによって異なります。
同じマシンでの管理サーバの再起動
管理対象サーバが動作を続けている状況で WebLogic 管理サーバを再起動する場合、管理サーバでは動作している管理対象サーバの存在を検出できます。ただし、検出を行うように指定することが必要です。管理サーバで管理対象サーバを検出するように指定するには、管理サーバを起動するときにコマンドラインで次の引数を入力します。
-Dweblogic.management.discover=true
この属性のデフォルト値は true です(このプロパティを省略しても、管理サーバは検出を実行します。ただし、WebLogic Server の起動に使用するコマンド ラインでこのプロパティが定義されていないこと、または false
に設定されていないことを確認する必要があります)。ドメインのコンフィグレーション ディレクトリには、running-managed-servers.xml
というファイルが含まれています。このファイルは、管理サーバが認識している管理対象サーバのリストです。管理サーバが起動時に検出を行うよう設定されている場合、管理サーバはこのリストを使用して動作している管理対象サーバの存在をチェックできます。
管理サーバの再起動では、静的にのみコンフィグレーションできる属性の変更を反映して管理対象サーバの実行時コンフィグレーションが更新されることはありません。静的なコンフィグレーション属性の変更を反映するためには、WebLogic Server を再起動する必要があります。管理対象サーバを検出すると、管理サーバでは管理対象サーバをモニタしたり、動的にコンフィグレーションできる属性の値を実行時に変更したりできます。
別のマシンでの管理サーバの再起動
マシンのクラッシュにより、同じマシンで管理サーバを再起動できない場合は、次のようにして動作している管理対象サーバの管理を回復できます。
注意: WebLogic Server 6.1 のサービス パック 2 をインストールしていない場合、新しい管理マシンのホスト名は、障害が発生した管理サーバをホストしていたマシンと同じでなければなりません。
/config/
myDomain
ディレクトリにあります。myDomain
は、管理サーバが管理しているドメインの名前です。
-Dweblogic.management.discover=true
この引数を指定すると、管理サーバは動作している管理対象サーバの存在を検出します(このプロパティを省略しても、管理サーバは検出を実行します。ただし、WebLogic Server の起動に使用するコマンド ラインでこのプロパティが定義されていないこと、または false
に設定されていないことを確認する必要があります)。
管理サーバは、起動すると、管理対象サーバと通信を行って、管理サーバがこれまでと異なる IP アドレスで動作していることを通知します。
サーバ起動処理
WebLogic Server を起動する際、以下の動作になります。
管理サーバは、そのドメインのコンフィグレーション ファイルからコンフィグレーション データとセキュリティ データを取り出します。管理対象サーバは、自分のコンフィグレーション データとセキュリティ データについて、管理サーバに問い合わせます。 SSL を設定している場合、管理対象サーバは自分自身が持つ証明書ファイル、キー ファイルその他の SSL 関連ファイルの セットを使用し、また、それ以外のコンフィグレーション データとセキュリティ データについては管理サーバに問い合わせます。
WebLogic 管理対象サーバのドメインへの追加
WebLogic Server を管理対象サーバとして実行するためには、まず、ドメインのコンフィグレーションでそのサーバのエントリを作成する必要があります。そのためには、次の操作を行います。
http://
hostname
:
port
/console
を指定して Administration Console を起動します。hostname
は管理サーバが動作しているマシンの名前、port
は管理サーバでコンフィグレーションされているリスン ポート番号(デフォルトは 7001)です。
サーバのコンフィグレーションの詳細については、「 WebLogic Server とクラスタのコンフィグレーション」を参照してください。
WebLogic 管理対象サーバは、以下のいずれかの方法で起動できます。
この節では、WebLogic 管理対象サーバをローカルで起動する方法について説明します。ノード マネージャを設定および使用して管理対象サーバをリモートで起動する方法については、「 ノード マネージャ」を参照してください。
注意: Administration Console の左ペインでサーバの名前を右クリックした場合、表示されるオプションの 1 つは [このサーバを開始...] です。このオプションは、管理対象サーバのあるマシン上でノード マネージャが動作している状態で管理対象サーバを起動する場合にのみ使用できます。詳細については、「 ノード マネージャ」を参照してください。
コンフィグレーションに WebLogic 管理対象サーバを追加したら(「
WebLogic 管理対象サーバのドメインへの追加」を参照)、java
コマンドラインから管理対象サーバを起動できます。WebLogic Server を起動するコマンドは、コマンド シェルに手動で入力するか、またはサーバを起動するたびにコマンドを入力しなくて済むようにスクリプトに配置できます。サンプル スクリプトについては、「
スクリプトを使用した WebLogic 管理対象サーバの起動」を参照してください。
管理対象サーバの起動パラメータが管理サーバの場合とおもに違う点は、管理対象サーバがコンフィグレーションを要求する管理サーバの位置を引数として指定しなければならないことです。このパラメータなしで起動した WebLogic Server は、管理サーバとして実行されます。
WebLogic 管理対象サーバを起動するときには、管理サーバを起動するときに指定するパラメータ(「 コマンドラインからの WebLogic 管理サーバの起動」を参照)を指定するとともに、以下の事項を指定する必要があります。
管理対象サーバが管理サーバにコンフィグレーション情報を要求するとき、管理サーバでは管理対象サーバがサーバ名で識別されます。このサーバ名による識別により、管理サーバでは適切なコンフィグレーションで応答することができます。このため、管理対象サーバを起動するときにはサーバ名も設定する必要があります。サーバ名を指定するには、WebLogic 管理対象サーバを起動するときにコマンドラインに次の引数を追加します。
-Dweblogic.Name=
servername
管理対象サーバを起動するときには、管理対象サーバがコンフィグレーションを要求する管理サーバのホスト名とリスン ポートを指定する必要があります。ホスト名とリスン ポートを指定するには、管理対象サーバを起動するときにコマンドラインに次の引数を追加します。
-Dweblogic.management.server=
host
:port
または
-Dweblogic.management.server=http://
host
:port
host
は管理サーバが動作しているマシンの名前または IP アドレス、port
は管理サーバのリスン ポートです。管理サーバのデフォルトのリスン ポートは 7001 です。
管理サーバとの通信にセキュア ソケット レイヤ(SSL)を使用する場合は、管理サーバを次のように指定する必要があります。
-Dweblogic.management.server=
https://
host:port
管理対象サーバと管理サーバの通信で SSL プロコトルを使用するには、管理サーバで SSL を有効にする必要があります。SSL 設定の詳細については、「 セキュリティの管理」を参照してください。
注意: 管理サーバの位置を指定しないで起動した WebLogic Server は、管理サーバとして起動します。
注意: 管理対象サーバは管理サーバからコンフィグレーションを受信するので、指定する管理サーバは管理対象サーバと同じドメインになければなりません。
スクリプトを使用した WebLogic 管理対象サーバの起動
WebLogic Server 配布キットには、WebLogic Server の起動に使用できるサンプル スクリプトが付属しています。それらのスクリプトは、実際の環境やアプリケーションに合わせて修正する必要があります。管理サーバの起動用と管理対象サーバの起動用に、別々のスクリプトが用意されています。管理対象サーバを起動するためのサンプル スクリプトは、startManagedWebLogic.sh
(UNIX)と startManagedWebLogic.cmd
(Windows)です。これらのスクリプトは、ドメインのコンフィグレーション サブディレクトリに配置されています。これらのスクリプトは、修正して独自の起動スクリプトを作成するために使用できるテンプレートです。
サンプル スクリプトを使用するには、次の作業を行います。
JAVA_HOME
の値を JDK の位置に変更します。
chmod +x startManagedWebLogic.sh
スクリプトを使用して管理対象サーバを起動するには、以下の 2 通りの方法があります。
SERVER_NAME
および ADMIN_URL
の値を設定する場合は、起動スクリプトを実行するときにそれらを引数として指定する必要はありません。SERVER_NAME
には、起動する WebLogic 管理対象サーバの名前を設定します。ADMIN_URL
は、管理サーバのホスト(ホスト名または IP アドレス)とリスン ポート番号(デフォルトは 7001)を示すように設定します。次に例を示します。
set SERVER_NAME=bigguy
set ADMIN_URL=peach:7001
startManagedWebLogic
startManagedWebLogic
server_name
admin:url
server_name
は起動する管理対象サーバの名前、admin_url
は http://
host
:
port
または https://
host
:
port
(host
は管理サーバのホスト名または IPアドレス、port
は管理サーバのポート番号)です。
Administration Console からの WebLogic Server の停止
Administration Console の左ペインでサーバを右クリックすると、[このサーバを強制停止...] と [このサーバを停止...] という 2 つのオプションが表示されます。[このサーバを強制停止...] オプションを選択すると、管理対象サーバが動作しているマシン上のノード マネージャに管理サーバが要求を送信します。ノード マネージャは、対象の WebLogic Server プロセスを強制停止します。[このサーバを強制停止...] オプションは、管理サーバを停止するためには使用できません。[このサーバを強制停止...] オプションを使用するには、目的の管理対象サーバのあるマシンでノード マネージャが動作している必要があります。ノード マネージャの設定と起動については、「 ノード マネージャ」を参照してください。
[このサーバを停止...] オプションを選択すると、選択されたサーバに管理サーバが停止要求を送信します。ノード マネージャはこの場合には使用されません。[このサーバを強制停止...] オプションとは違って、[このサーバを停止...] オプションは管理サーバを停止するために使用できます。
[このサーバを停止...] オプションでは管理対象サーバの管理機能を使用して停止を開始するので、サーバがアクティブで、管理要求に応答している場合にのみ使用できます。[このサーバを強制停止...] オプションは、通常は、目的の管理対象サーバがハングしているか、管理サーバからの管理要求に応答していない場合に使用します。
コマンドラインからのサーバの停止
WebLogic Server は、次のコマンドを使用してコマンドラインからでも停止できます。
java weblogic.Admin -url
host
:port
SHUTDOWN -usernameadminname
-passwordpassword
各値の説明は次のとおりです。
host
は、WebLogic Server が動作しているマシンの名前または IP アドレスです。
port
は、WebLogic Server のリスン ポート(デフォルトは 7001)です。
adminname
では、対象 WebLogic Server のコンソール アクセス制御リスト(ACL)のメンバー(またはコンソール ACL のメンバーであるグループのメンバー)であるユーザを指定します。コンソール ACL のデフォルト メンバーは system
です。
password
は、adminname
のパスワードです。
Windows サービスとしてのWebLogic Server インスタンスの設定
Windows ホストの起動時に WebLogic Server のインスタンスを自動的に起動させる場合は、サーバを Windows サービスとして設定します。
Windows サービスとして設定されたサーバごとに、WebLogic Server は、Windows レジストリの HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
の下にキーを作成します。レジストリのエントリには、サーバの名前や他の起動引数などの情報が設定されます。Windows ホストを起動すると、レジストリ内の情報が JVM に渡されます。
サーバ インスタンスが Windows サービスとして動作するよう設定するには、先にドメイン内にサーバを作成する必要があります。
以下のタスクは、WebLogic Server を Windows サービスとして 設定および管理する方法について説明したものです。
Windows サービスの設定: メイン手順
以下のメイン手順では、WebLogic Server と共にインストールされるデフォルト ドメインに少なくとも 1 つの WebLogic Server インスタンスを作成してあるものとします。
サーバ インスタンスと Windows サービスの名前の指定
Windows サービスとして実行するサーバ インスタンスの名前を指定するには:
weblogic
\config\
mydomain
\installNTService.cmd
のバックアップ コピーを作成します。weblogic
は WebLogic Server をインストールしたディレクトリで、mydomain
は WebLogic Server のインストール時にユーザが作成したドメインです。
installNTService.cmd
を開きます。
set CMDLINE=
で始まる行で、-Dweblogic.Name=
の値を、Windows サービスとして起動するサーバの名前に変更します。たとえば、-Dweblogic.Name=myserver
のようにします。
beasvc
ユーティリティを呼び出しています。このコマンドを以下のように変更します。
-svcname
の値をサービスの一意な名に変更します。たとえば、次のようにドメインとサーバ インスタンスの名前を使用します。-svcname:mydomain_myserver
beasvc
コマンドの最後に -password:
password
を追加します。password
は system
ユーザのパスワードです。
Windows サービスをインストールすると、beasvc
ユーティリティはパスワードを暗号化し、暗号化後の値を Windows レジストリに格納します。このサーバを Windows サービスとしてインストールする作業が終了したら、installNTService.cmd
スクリプトからパスワードを削除する必要があります。
変更後の beasvc
コマンドは、次のようになります。
"D:\bea\wlserver6.1\bin\beasvc" -install
-svcname:mydomain_myserver
-javahome:"D:\bea\jdk131" -execdir:"D:\bea\wlserver6.1"
-extrapath:"D:\bea\wlserver6.1\bin" -cmdline:%CMDLINE% -password:weblogic
管理サーバの場所の指定
管理対象サーバを Windows サービスとしてインストールする場合は、installNTService.cmd
スクリプトを変更して管理サーバの場所を指定する必要があります。管理対象サーバは、管理サーバに接続してコンフィグレーション情報を受け取る必要があります。
管理サーバの場所を指定するには:
installNTService.cmd
を開きます。
set CMDLINE=
で始まる行で、-Dweblogic.Name
引数の後に次の引数を追加します。-Dweblogic.management.server=http://
host:port
host
は管理サーバが稼働しているマシンの名前または IP アドレスで、port
は管理サーバのリスン ポートです。
管理サーバとの通信にセキュア ソケット レイヤ (SSL) を使用している場合は、管理サーバを次のように指定する必要があります。
-Dweblogic.management.server=https://
host:port
管理サーバ起動後に管理対象サーバを起動させる指定
管理サーバと管理対象サーバが両方とも同じコンピュータ上の Windows サービスとして稼働するよう設定する場合は、必ず管理サーバが起動した後で管理対象サーバが起動するように指定します。
管理サーバの Windows サービスが起動した後で管理対象サーバが起動するよう指定するには:
weblogic
\config\
mydomain
\installNTService.cmd
のバックアップ コピーを作成します。weblogic
は WebLogic Server のインストール ディレクトリで、mydomain
は WebLogic Server のインストール時に作成したドメインです。
weblogic
\config\
mydomain
\installNTService.cmd
スクリプトを開きます。
beasvc
ユーティリティを呼び出すコマンドに、次の引数を追加します。
-delay
:delay_milliseconds
この引数では、Windows Service Control Manager (SCM) がサービスのステータスを SERVER_START_PENDING
から STARTED
に変更する前に待機するミリ秒数を指定します。
たとえば、管理サーバが起動サイクルを完了してリクエストのリスンを開始するまでに 2 分かかる場合は、-delay=120000
と指定します。この場合、Windows ホスト コンピュータを起動すると、Windows SCM は SERVER_START_PENDING
ステータスを 2 分間報告した後で、ステータスを STARTED
に変更します。
結果として、管理サーバに対する beasvc
の呼び出しは、次のようになります。
"D:\bea\wlserver6.1\bin\beasvc" -install
-svcname:mydomain_myAdminServer
-javahome:"D:\bea\jdk131"-delay:120000
-execdir:"D:\bea\wlserver6.1"
-extrapath:"D:\bea\wlserver6.1\bin" -cmdline:%CMDLINE%
beasvc
の詳細については、コマンド プロンプトで「weblogic
\server\bin\beasvc -help
」と入力してください。weblogic
は、WebLogic Server をインストールしたディレクトリです。
weblogic
\config\
mydomain
\installNTService.cmd
スクリプトを開きます。
beasvc
ユーティリティを呼び出すコマンドに、次の引数を追加します。
-depend
:Administration-Server-service-name
Administration-Server-service-name
は、管理サーバの Windows サービスの名前です。サービス名がわからない場合は、Windows サービスのコントロール パネルで確認します。
このオプションを指定すると、Windows SCM は、管理サーバの Windows サービスが STARTED
ステータスを報告するのを待ってから、管理対象サーバの Windows サービスを開始します。
たとえば、管理対象サーバに対する beasvc
の呼び出しは次のようになります。
"D:\bea\wlserver6.1\bin\beasvc" -install
-svcname:mydomain_myManagedServer
-javahome:"D:\bea\jdk131"-depend:"mydomain_myAdminServer"
-execdir:"D:\bea\wlserver6.1"
-extrapath:"D:\bea\wlserver6.1\bin" -cmdline:%CMDLINE%
Windows SCM が管理対象サーバの Windows サービスに対して STARTED
ステータスを報告するタイミングをコンフィグレーションする場合は、管理対象サーバ Windows サービスにも -delay
:delay_milliseconds
オプションを追加してかまいません。
Windows コントロール パネルからの安全なシャットダウン
デフォルトでは、Windows のコントロール パネルを使用してサーバ インスタンスを停止すると、Windows Service Control Manager (SCM) はサーバの Java 仮想マシン (JVM) を強制的に停止します。JVM を強制停止すると、サーバは直ちにすべての処理を終了します。セッション データはすべて失われます。管理サーバが config.xml
ファイルに書き込んでいる最中にサーバに対する JVM を強制停止すると、config.xml
ファイルが壊れる可能性があります。
Windows コントロール パネルから安全にシャットダウンできるようにするには:
weblogic
\config\
mydomain
\installNTService.cmd
スクリプトを開きます。
beasvc
ユーティリティを呼び出すコマンドに、次の引数を追加します。
-stopclass:weblogic.Server
この引数を指定した場合、Windows のコントロール パネルからサーバの Windows サービスを停止すると、Windows SCM はサーバの ServerRuntime
MBean の stop()
メソッドを呼び出します。この管理メソッドは、サーバを安全にシャットダウンします。
次に示すのは、サーバ インスタンスに対する beasvc
呼び出しを修正した結果の例です。
"D:\bea\wlserver6.1\bin\beasvc" -install
-svcname:mydomain_myserver
-javahome:"D:\bea\jdk131"-stopclass:weblogic.Server
-execdir:"D:\bea\wlserver6.1"
-extrapath:"D:\bea\wlserver6.1\bin" -cmdline:%CMDLINE%
beasvc
の詳細については、コマンド プロンプトで「weblogic
\server\bin\beasvc -help
」と入力してください。weblogic
は、WebLogic Server をインストールしたディレクトリです。
デフォルトでは、Windows 2000 のコントロール パネルを使って Windows サービスを停止すると、Windows SCM はサービスが停止するのを 30 秒間待った後、サービスを強制停止し、システム イベント ログにタイムアウト メッセージを書き込みます。
-stopclass
を使ってサーバを安全にシャットダウンする場合、サーバが処理を安全に終了するのに 30 秒では十分ではない可能性があります。
Windows 2000 のタイムアウト時間をコンフィギュレーションするには、次のレジストリ キーの下に ServicesPipeTimeout
という名前で REG_DWORD
のレジストリ値を作成します。HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
キーの値はミリ秒単位でなければなりません。
Windows オペレーティング システムは起動時にレジストリからこの値を読み取り、インストールされているすべてのサービスに適用します。
installNTService.cmd
スクリプトを保存します。
ファイルへの標準出力と標準エラーのリダイレクト
WebLogic Server インスタンスを Windows サービスとしてインストールすると、デフォルトでは、サーバまたは JVM が標準出力と標準エラーに書き出すメッセージを見ることはできません。
Windows サービスとしてインストールされているサーバ インスタンスに対するこれらのメッセージを見るには、標準出力と標準エラーをファイルにリダイレクトする必要があります。
installNTService.cmd
を開きます。
installNTService.cmd
では、スクリプトの最後のコマンドで beasvc
ユーティリティを呼び出しています。beasvc
コマンドの最後に、次のコマンド オプションを追加します。
-log:"
pathname
"pathname
は、サーバの標準出力と標準エラーのメッセージを格納するファイルの完全修飾パスとファイル名です。
変更後の beasvc
コマンドは次のようになります。
"D:\bea\wlserver6.1\bin\beasvc" -install
-svcname:mydomain_myserver
-javahome:"D:\bea\jdk131" -execdir:"D:\bea\wlserver6.1"
-extrapath:"D:\bea\wlserver6.1\bin" -cmdline:%CMDLINE%
-password:weblogic-log:"d:\bea\wlserver6.1\config\mydomain\myserver-stdout.txt
サービスをインストールして Windows ホストを再起動した後、サーバと JVM が標準出力または標準エラーに書き出すメッセージを見るには、次のいずれかの方法を使用します。
tail -f
stdout-filename
を使用します。
WebLogic Server インスタンスがスレッド ダンプを標準出力に書き出すように指定するには、次のいずれかの方法を使用します。
weblogic
\bin\beasvc -dump -svcname:
service-name
weblogic
は WebLogic Server のインストール ディレクトリで、service-name
はサーバ インスタンスを実行している Windows サービスです。
例:D:\bea\wlserver6.1\bin\beasvc -dump -svcname:mydomain_myserver
クラスパスへのクラスの追加
クラスパスは、JVM が呼び出すことのできる Java クラスの場所を宣言したものです。サーバ インスタンスを Windows サービスとしてインストールするときは、サーバ インスタンスを実行するために必要なすべてのクラスを installNTService.cmd
スクリプトで指定します。独自の Java クラスを追加して WebLogic Server を拡張する場合は、その Java クラスをクラスパスに追加する必要があります。
クラスパスにクラスを追加するには:
weblogic
\config\
mydomain
\installNTService.cmd
のバックアップ コピーを作成します。weblogic
は WebLogic Server のインストール ディレクトリで、mydomain
は WebLogic Server のインストール時に作成したドメインです。
installNTService.cmd
を開きます。
set CLASSPATH
文で始まる行に、独自の Java クラスを追加します。
たとえば、作成したクラスを c:\myJar
という名前のファイルにアーカイブしている場合は、次のように文を変更します。set CLASSPATH=.;D:\bea\wlserver6.1\lib\weblogic_sp.jar;D:\bea\wlserver6.1\lib\weblogic.jar;
c:\myJar
注意: Win32 システムでは、コマンドラインの長さは 2K に制限されています。Windows サービス起動用のクラスパスの設定が非常に長い場合、2K の制限を超える可能性があります。
この制限を回避するには:
set CLASSPATH
コマンドの値を別のテキスト ファイルに移し、そのテキスト ファイルを weblogic
\server\bin
ディレクトリに保存します。
weblogic
\config\
mydomain
\installNTService.cmd
スクリプトで、set CMDLINE
コマンドを探します。
set CMDLINE
コマンド内で、-classpath \"%CLASSPATH%\"
オプションを次のオプションに置き換えます。
-classpath @
filename
は、クラスパスの値を含むファイルの名前です。
filename
例:
set CMDLINE="-ms64m -mx64m
-classpath @myClasspath.txt
-Dweblogic.Domain=mydomain -Dweblogic.Name=myserver
-Djava.security.policy==\"D:\bea\wlserver6.1/lib/weblogic.policy\" -Dbea.home=\"D:\bea\" weblogic.Server"
installNTService.cmd
スクリプトを保存します。
インストール スクリプトの実行
weblogic
\config\
mydomain
に移動します。
installNTService.cmd
と入力します。
コマンド プロンプトが、スクリプトを batch
ファイルとして実行します。
スクリプトが正常に実行されると、 DOMAIN_NAME
_
SERVER_NAME
という名前の Windows サービスが作成されて、次のような行が標準出力に出力されます。mydomain_myserver installed
デフォルトでは、標準出力はサーバ固有の batch
ファイルを実行したコマンド プロンプトです。
installNTService.cmd
スクリプトからパスワードを削除します。このパスワードを暗号化されていない状態のままファイルシステムに残しておくと、セキュリティ上の弱点になります。
Windows サービスとしての WebLogic Server の削除
Windows サービスとしての WebLogic Server を削除するには、次の操作を行います。
weblogic
\config
\mydomain
ディレクトリに移動します。weblogic
は WebLogic Server がインストールされたディレクトリ、mydomain
はドメインのコンフィグレーションが格納されているサブディレクトリです。
uninstallNTService.cmd
スクリプトを開きます。
-svcname:
の値を、削除するサービスの名前に変更します。
uninstallNTService.cmd
を保存して実行します。
Windows サービスとしてインストールされた WebLogic Server のパスワードの変更
デフォルト サーバを Windows サービスとしてインストールした場合、サービスを作成するときには、WebLogic Server ソフトウェアのインストール時に入力したシステム パスワードが使用されます。このパスワードが後で変更された場合、次の手順を行います。
uninstallNTService.cmd
スクリプト(install_dir
\config
\domain_name
ディレクトリに格納されている。install_dir
は WebLogic Server をインストールしたディレクトリ)を使用して、Windows サービスとしての WebLogic Server をアンインストールします。
installNTservice.cmd
スクリプトには、次のコマンドが記述されています。
rem *** Install the service
"C:\bea\wlserver6.1\bin\beasvc" -install -svcname:myserver
-javahome:"C:\bea\jdk130" -execdir:"C:\bea\wlserver6.1"
-extrapath:"C\bea\wlserver6.0\bin" -cmdline:
%CMDLINE%
次の文字列をコマンドに追加します。
-password:"
your_password
"
your_password
は新しいパスワードです。
installNTservice.cmd
スクリプトを実行します。これで、パスワードが更新された新しいサービスが作成されます。
WebLogic Server には、WebLogic Server が起動するときまたは正常に停止するときに処理を実行するメカニズムがあります。スタートアップ クラスは、WebLogic Server が起動または再起動するときに自動的にロードされて実行される Java プログラムです。 サーバのロードとスタートアップ クラスをの実行をいつ行うかの詳細については、 サーバ起動処理 を参照してください。
シャットダウン クラスは、スタートアップ クラスと同じように機能します。シャットダウン クラスは、Administration Console または weblogic.admin
shutdown
コマンドを使用して WebLogic Server が停止されるときに自動的にロードされて実行されます。
WebLogic Server でスタートアップ クラスまたはシャットダウン クラスを使用するには、それらのクラスを登録する必要があります。スタートアップ クラスとシャットダウン クラスは、Administration Console で登録できます。
スタートアップ クラスまたはシャットダウン クラスを登録するには、次の操作を行います。
以下の機能の詳細については、Administration Console のオンライン ヘルプを参照してください。
![]() |
![]() |
![]() |