BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > 管理者ガイド > WebLogic Server の起動と停止 |
管理者ガイド
|
以下の節では、管理サーバと管理対象サーバを起動および停止する手順について説明します。
WebLogic Server は、複数ある状態のうち、常にいずれか 1 つの状態にあり、それらの状態の間を遷移する時期と方法が定義された規則に従っています。サーバが遷移していく一連の状態のことを、サーバのライフサイクルと呼びます。図 2-1 を参照してください。
以下のいずれかのインタフェースを使用して、サーバのライフサイクルを制御できます。
さらに、GETSTATE コマンドは、サーバの現在の状態を返します。
weblogic.Admin ユーティリティの使用方法については、WebLogic Server コマンドライン インタフェース リファレンスを参照するか、またはコマンドラインで次のコマンドを入力してください。
ノード マネージャについては、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。
ライフサイクル コマンドを実行すると、サーバはサブシステムおよびアプリケーションにそのリクエストを通知し、サブシステムおよびアプリケーションが応答するまで何秒間か待機します。指定した秒数以内に応答がない場合、そのライフサイクル オペレーションはタイムアウトします。タイムアウトした後に行われるアクションは、オペレーションの種類によって異なります。
このタイムアウト期間は、SHUTDOWN オペレーションおよび FORCESHUTDOWN オペレーションにのみ適用されます。オペレーションがコンフィグレーションされた期間内に完了しない場合は、以下のいずれかのアクションが発生します。
[サーバ|チューニング] タブで、デフォルトのタイムアウト期間を変更できます。詳細については、Administration Console オンライン ヘルプの「ライフサイクル オペレーションのタイムアウト設定」を参照してください。
デフォルトでは、サーバ プロセスを実行するコマンド シェルでユーザ名とパスワードの入力が求められます。ユーザ名は、サーバの起動を許可されているロールに属していなければなりません。ロールとパーミッションについては、システム管理操作の保護 を参照してください。
コンフィグレーション ウィザードでは、ユーザ名とパスワードの入力が求められます。入力したユーザ名は myrealm セキュリティ レルムの初期管理ユーザ名となります。セキュリティ レルムは、ユーザを認証したり、ユーザがアクセスできるリソースの種類を指定したりといった、WebLogic リソースのセキュリティ関連のサービスを提供するコンポーネント (プロバイダ) の集合です。WebLogic Server には myrealm セキュリティ レルムがインストールされており、デフォルトではそれが使用されます。
初めて WebLogic Server を起動するとき、この初期管理ユーザ名とパスワードを入力します。コンフィグレーション ウィザードを使用しなかった場合は、初期ユーザ名とパスワードの入力が求められます。
Administration Console を使用して、myrealm にユーザを追加できます。WebLogic Server にインストールされている認証プロバイダ以外の認証プロバイダを使用する場合には、そのプロバイダの管理ツールを使用して管理者特権を持ったユーザを最低でも 1 人作成する必要があります。管理者特権の付与については、システム管理操作の保護を参照してください。
注意: guest ユーザは、WebLogic Server バージョン 7.0 ではデフォルトでは提供されなくなりました。guest ユーザを使用するには、互換性モードで実行するか、またはセキュリティ レルムの認証プロバイダのユーザとして guest ユーザを定義する必要があります。互換性モードについては、『WebLogic Security の管理』の「互換性セキュリティの使い方」を参照してください。
別のセキュリティ レルムを使用するように WebLogic Server をコンフィグレーションできます。異なるセキュリティ レルムを設定した場合は、設定したレルムから 1 つをデフォルトとして指定する必要があります。起動時には WebLogic Server はデフォルトのレルムを使用して、入力されたユーザ名を認証します。
ユーザ名とパスワードのプロンプトを回避する場合は、起動 ID ファイルを作成して使用することをお勧めします。起動 ID ファイルにはユーザ名とパスワードが暗号化された形式で格納されます。
管理サーバの起動 ID ファイルを作成するには、次の手順に従います。
username=username
password=password
ユーザ名とパスワードの値は、デフォルト セキュリティ レルムの認証プロバイダの既存ユーザ アカウントと一致し、さらにサーバを起動するパーミッションを持つロールに属している必要があります。ロールとパーミッションについては、システム管理操作の保護を参照してください。
ファイルを boot.properties として保存し、サーバのルート ディレクトリに配置すると、起動時に自動的にこのファイルが使用されます。 詳細については、起動 ID ファイルの使用.を参照してください。
初めてこのファイルを使用してサーバを起動するとき、サーバはファイルを読み込んでから、ユーザ名とパスワードの暗号化バージョンでそのファイルを上書きします。
前の節で説明した手順に従う代わりに weblogic.Server クラスをコマンドラインから直接呼び出す場合、Java コマンドに以下のオプションを指定することによって起動 ID ファイルを作成できます。
-Dweblogic.management.username=username
-Dweblogic.management.password=password
-Dweblogic.system.StoreBootIdentity=true
これらのオプションを指定すると、サーバ インスタンスが指定したユーザ資格で起動され、boot.properties というファイルに格納されます。
たとえば、次のコマンドを実行すると、myAdminServer という名前の管理サーバが起動し、起動 ID ファイルが作成されます。
java -Dweblogic.management.username=username
-Dweblogic.management.password=password
-Dweblogic.system.StoreBootIdentity=true
-Dweblogic.Name=myAdminServer weblogic.Server
コマンドラインから直接 weblogic.Server クラスを呼び出す方法の詳細については、weblogic.Server コマンドの使用 を参照してください。
注意: スクリプトを使用して管理サーバを起動する場合は、以下の理由からこの節で説明した方法を使用することはお勧めできません。
管理対象サーバが、管理サーバと同じルート ディレクトリを使用しているならば、その管理対象サーバを別のユーザ資格に基づいて実行する場合以外は、管理対象サーバのためにさらに起動 ID ファイルを作成する必要はありません。 サーバのルート ディレクトリについては、サーバのルート ディレクトリを参照してください。
また、ノード マネージャを使って管理対象サーバを起動する場合は、起動 ID ファイルを作成する必要はありません。その代わり、Administration Console における管理対象サーバの [リモート スタート] タブでユーザ資格を指定する必要があります。詳細については、「管理対象サーバの起動引数のコンフィグレーション」を参照してください。
管理対象サーバの起動 ID ファイルを作成するには、次の手順に従います。
username=username
password=password
ユーザ名とパスワードの値は、デフォルト セキュリティ レルムの認証プロバイダの既存ユーザ アカウントと一致し、さらにサーバを起動するパーミッションを持つロールに属している必要があります。ロールとパーミッションについては、システム管理操作の保護を参照してください。
ファイルを boot.properties として保存し、サーバのルート ディレクトリに配置すると、起動時に自動的にこのファイルが使用されます。 詳細については、起動 ID ファイルの使用.を参照してください。
サーバ インスタンスは、次のように起動 ID ファイルを使用します。
-Dweblogic.management.username=username
-Dweblogic.management.password=password
これらのオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされます。
注意: この方法では、暗号化されていないパスワードを起動スクリプトに格納する必要があるため、スクリプトを使用してサーバ インスタンスを起動する場合にはお勧めできません。 この方法は、weblogic.Server クラスをコマンドラインから直接呼び出す場合にのみ使用してください。 詳細については、weblogic.Server コマンドの使用を参照してください。
特定のサーバ インスタンスでは、そのインスタンスが作成した起動 ID ファイルのみを使用してください。WebLogic Server は、あるサーバのルートディレクトリから別のサーバのルート ディレクトリへの起動 ID ファイルのコピーはサポートしていません。
たとえば、ServerA を使用して起動 ID ファイルを生成した場合、ServerA ではその起動 ID ファイルだけを使用します。ServerA の起動 ID ファイルを、ServerB のルート ディレクトリへコピーすることはできません。代わりに、上述の手順で ServerB の起動 ID ファイルを作成します。
サーバの起動後に起動 ID ファイルを削除する場合は、サーバの weblogic.Server 起動コマンドで次の引数を使用します。
-Dweblogic.system.RemoveBootIdentity=true
この引数は、サーバが起動に使用したファイルのみを削除します。たとえば、-Dweblogic.system.BootIdentityFile=c:¥secure¥boot.MyServer と指定した場合には、サーバのルート ディレクトリに boot.properties というファイルが格納されていても boot.MyServer のみが削除されます。
対話形式のプロンプトを回避するには、起動 ID ファイルの使用が最も安全で便利な方法です。ただし、起動 ID ファイルを使用する代わりに、weblogic.Server 起動コマンドに以下の引数を追加することもできます。
-Dweblogic.management.username=username
-Dweblogic.management.password=password
これらの引数を両方とも入力すると、対話形式のプロンプトを回避できます。
これらのオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされます。
サーバを起動するコマンドは長くなる場合があるので、通常は起動コマンドの大部分がスクリプトに組み込まれています。セキュリティに少しでも不安のある環境では、-Dweblogic.management.password=password 引数を起動スクリプトに保存しないことをお勧めします。
これらの引数の詳細については、weblogic.Server コマンドの使用を参照してください。
WebLogic Server は、Java 仮想マシン (JVM) 内のプロセスとして実行されます。各 JVM でホストできるのは、1 つのサーバ プロセスのみです。サーバを起動するには、一連の引数を使用して JVM を起動します。
ドメインが 1 つの WebLogic Server のみで構成されている場合は、そのサーバが管理サーバになります。ドメインが複数の WebLogic Server で構成されている場合は、管理対象サーバを起動する前に管理サーバを起動する必要があります。
同じドメイン内の管理サーバと管理対象サーバは、すべて同じバージョンの WebLogic Server である必要があります。また、管理サーバのサービスパックのレベルは、管理対象サーバのサービスパックのレベル以上でなければなりません。たとえば、管理対象サーバがリリース 7.0 であれば、管理サーバは 7.0 または 7.0 SP1 になります。ただし、管理対象サーバが SP1 である場合は、管理サーバも SP1 でなければなりません。ドメイン内の各サーバの名前はユニークでなければなりません。
この節では、管理サーバの起動について説明します。管理サーバを起動するには、以下の中から必要なタスクをローカル ホストで行います。
注意: WebLogic Server の起動時に数多くのクラスをロードしようとすると、JDK 1.3 によって OutOfMemory エラーが送出される場合があります。このエラーは、使用可能なメモリが十分あるような場合でも発生します。WebLogic Server の起動時に java.lang.OutOfMemory エラー例外が発生した場合は、次の JVM オプションの値を大きくしてください。
JDK 1.3.1 では、MaxPermSize のデフォルトの値は 64m です (m は MB を表します)。
Windows の [スタート] メニューからの管理サーバの起動
コンフィグレーション ウィザードを使用して、Windows コンピュータ上で単一サーバ、管理対象サーバを持つ管理サーバ、またはクラスタ化された管理対象サーバを持つ管理サーバを作成すると、Windows の [スタート] メニューにドメインをインストールするよう求められます。インストールすることを選択した場合は、次の手順に従って単一サーバまたは管理サーバを起動できます。
Windows のデスクトップから、[スタート|プログラム|BEA WebLogic Platform 7.0|User Projects|domain_name|Start Server] をクリックします。
コマンド ウィンドウが開き、スクリプト domain_name¥startWebLogic.cmd が呼び出されます。このスクリプトについてはスクリプトを使用した管理サーバの起動で説明します。 サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。
<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
コマンドラインから WebLogic Server を起動するために必要な引数は長くなる場合があり、エラーが発生しやすくなるので、コマンドをスクリプトに組み込むことをお勧めします。
コンフィグレーション ウィザード スクリプトを使用した管理サーバの起動
コンフィグレーション ウィザードを使用してドメインを作成すると、そのドメインの管理サーバの起動に使用できるスクリプトも作成されます。スクリプトを使用するには、コマンド プロンプトで以下のいずれかのコマンドを入力します。
このスクリプトは一部のドメイン固有の変数の値を設定してから、マスター起動スクリプト WL_HOME¥server¥bin¥startWLS.cmd (UNIX では startWLS.sh) を呼び出します。WL_HOME は WebLogic Server をインストールした場所です。マスター起動スクリプトは、JVM の場所などの環境変数を設定し、その後 WebLogic Server の引数を使用して JVM を起動します。
Administration Console など別の方法でドメインを作成する場合は、次の手順に従って独自の起動スクリプトを作成できます。
サーバを起動するユーザをクリアテキストで設定する変数。この変数は使用せず、起動 ID ファイルを使用することを推奨。詳細については、ユーザ名とパスワードのプロンプトの回避を参照。 |
|
サーバを起動するパスワードをクリアテキストで設定する変数。この変数は使用せず、起動 ID ファイルを使用することを推奨。 詳細については、ユーザ名とパスワードのプロンプトの回避を参照。 |
|
この変数に URL を指定すると、サーバは管理対象サーバとして起動し、指定した URL を使用して管理サーバにアクセスする。 詳細については、管理サーバと管理対象サーバを参照。 |
|
サーバをプロダクション モードまたは開発モードのいずれで実行するかを指定する。true を指定するとプロダクション モードで、false を指定すると開発モードで実行される。 プロダクション モードまたは開発モードの使用に関する詳細については、開発モードとプロダクション モードを参照。 |
|
サーバを実行するための Java コマンドライン オプション。Java コマンドライン オプションは、JAVA_VM および MEM_ARGS が渡された後に JVM に渡される。-Dweblogic.ListenAddress は、ドメインの起動スクリプトから呼び出せる Java オプションの例。 コマンドライン オプションの詳細については、weblogic.Server コマンドの使用を参照。 UNIX シェルで複数のオプションをリストする場合は、一連のオプション全体を引用符で囲み、各オプションの間にスペースを挿入する。次に例を示す。 JAVA_OPTIONS="-Dweblogic.attribute=value -Djava.attribute=value" |
|
仮想マシンを実行するモードを指定するための Java 引数。以下のいずれかのオプションを使用。 これらの操作モードをサポートしない JVM を使用している場合は、これらの引数が JVM に渡されないように、マスター スクリプトを編集する必要がある。 詳細については、WebLogic Server でのデフォルト以外の JVM の使用を参照。 |
|
Java に渡されたデフォルトのメモリ引数をオーバーライドする変数。マスター起動スクリプトでは、オプションはデフォルトで -Xms200m および -Xmx200m に設定されている。 |
マスター起動スクリプトは、JVM の場所などの環境変数を設定し、その後 WebLogic Server の引数を使用して JVM を起動します。WebLogic Server とともにインストールされる JVM を使用していない場合は、マスター起動スクリプトを編集する必要があります。 詳細については、WebLogic Server でのデフォルト以外の JVM の使用を参照してください。
WebLogic Server でのデフォルト以外の JVM の使用
WebLogic Server とともにインストールされた JVM を使用しない場合は、JAVA_HOME 変数にシステム上の JVM の適切な場所が指定されるように、マスター起動スクリプトを編集する必要があります。
詳細については、「WebLogic Platform と共にバンドルされていない JVM を使用する」(http://edocs.beasys.co.jp/e-docs/platform/docs70/relnotes/relnotes.html) を参照してください。
weblogic.Server は、ローカル ホストで WebLogic Server を起動するコマンドです。既に説明したように起動スクリプトは、このコマンドに一連のオプションを送るラッパーです。このコマンドとそれに付随するオプションを起動スクリプトに組み込むことをお勧めしますが、コマンドラインに直接 weblogic.Server コマンドを入力して単純に呼び出すこともできます。
たとえば、Windows 上で examples サーバを起動する単純な呼び出しは次のとおりです (このコマンドを WL_HOME¥samples¥server¥config¥examples ディレクトリから入力する必要があります)。
c:¥bea¥jdk131¥bin¥java
-hotspot -Xms200m -Xmx200m
-classpath "c:¥bea¥jdk131¥lib¥tools.jar;
c:¥bea¥weblogic700¥server¥lib¥weblogic_sp.jar;
c:¥bea¥weblogic700¥server¥lib¥weblogic.jar;"
-Dweblogic.Name=examplesServer
-Dbea.home="C:¥bea" -Djava.security.policy="c:¥bea¥weblogic700¥server¥lib¥weblogic.policy"
weblogic.Server
リモート ホスト上の管理対象サーバの起動については、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。
Java 仮想マシン (JVM) では、classpath と呼ばれる設定を使用して、必要不可欠なファイルおよびディレクトリの場所を指定します。
以下のコマンドを使用して、WebLogic Server のクラスパスを設定できます。
WL_HOME¥server¥bin¥setWLSEnv.cmd (Windows)
WL_HOME/server/bin/setWLSEnv.sh (UNIX)
setWLSEnv を使用する代わりに、起動コマンドで環境変数または -classpath 引数を使用できます。いずれの方法でも、WebLogic Server のインスタンスを実行する JVM のクラスパスに以下を含める必要があります。
weblogic.Server コマンドの構文は、次のとおりです。
java RequiredArguments [OptionalArguments] weblogic.Server
次の表には、java コマンドラインからの WebLogic Server の起動に不可欠な引数が示されています。
Java ヒープ メモリの最小値と最大値を指定する (MB 単位)。 たとえば、デフォルトの 200MB の Java ヒープ メモリを WebLogic Server に割り当ててサーバを起動するとする。そのためには、java -Xms200m オプションおよび -Xmx200m オプションを使用してサーバを起動できる。 最高のパフォーマンスを得るには、JVM がヒープのサイズを変更しないように最小値と最大値を同じにする。 パラメータに割り当てられたこれらの値は、WebLogic Server のパフォーマンスに大きく影響する可能性があり、ここでは一般的なデフォルト値としてのみ紹介している。プロダクション環境では、実際のアプリケーションや環境に合った適切なメモリ ヒープ サイズを慎重に判断する必要がある。 |
|
このオプションで指定する最低限の内容は、クラスパスの設定で説明されている。 |
|
サーバ名はドメイン内でユニークである必要がある。たとえば、DomainA というドメインにあるサーバ インスタンスに ManagedServer1 という名前を付ける場合、DomainA 内の別のサーバ インスタンスに ManagedServer1 と名付けることはできない。 |
|
BEA ホーム ディレクトリの場所を指定する。BEA ホーム ディレクトリには、ライセンス情報などの必要不可欠な情報が格納されている。 |
次の表には、よく使用される任意指定の引数が示されています。各引数の説明では、その引数を Administration Console やその他の WebLogic Server コマンドを使用して設定することもできるかどうか示されています。MBean (Managed Bean) の属性を設定する引数はすべて、MBean の API を使用して設定することもできます。 Mbean の属性の設定については、その他の任意指定の引数 を参照してください。
サーバのルート ディレクトリを指定する。 詳細については、サーバのルート ディレクトリを参照。 |
|
ドメインのコンフィグレーション ファイルを指定する。file_name の値は、config.dtd に準拠した有効な XML ファイルでなければならない。XML ファイルは、ドメインの管理サーバのルート ディレクトリに存在する必要がある。ルート ディレクトリは、カレント ディレクトリか、または -Dweblogic.RootDirectory で指定したディレクトリ。 file_name 値にはパス名を指定できない。たとえば、次の値は無効となる。 -Dweblogic.ConfigFile=c:¥mydir¥myfile.xml -Dweblogic.RootDirectory=c:¥mydir config.dtd については、『コンフィグレーション リファレンス』を参照。 |
|
ユーザ名は、サーバを起動するパーミッションを持つロールに属していなければならない。ロールとパーミッションについては、システム管理操作の保護 を参照。 このオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされる。詳細については、ユーザ名とパスワードのプロンプトの回避を参照。 |
|
このオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされる。詳細については、ユーザ名とパスワードのプロンプトの回避を参照。 |
|
このサーバのリスン アドレスを指定する。host の値は、サーバの DNS 名または IP アドレスのいずれかでなければならない。 このオプションは、ServerMBean の listenAddress 属性の値を設定する。この属性には、Administration Console からもアクセスできる ([サーバ|コンフィグレーション|一般|リスン アドレス])。 リスン アドレスを指定しない場合、マシンの DNS 名または IP アドレスのいずれかが使用される。 この引数ではなく Administration Console を使用して、確認済みの DNS 名または IP アドレスを指定することを推奨。 詳細については、「ネットワーク リソースのコンフィグレーション」を参照。 |
|
このサーバのプレーン テキスト (非 SSL) リスン ポートを指定し、有効にする。 この引数は、ServerMBean の listenPort 属性の値を設定する。この属性には、Administration Console からもアクセスできる ([サーバ|コンフィグレーション|一般|リスン ポート])。 リスン ポートを指定しない場合、デフォルトで 7001 が使用される。 詳細については、「ネットワーク リソースのコンフィグレーション」を参照。 |
|
WebLogic Server が SSL 接続リクエストをリスンするポートを指定し、有効にする。 この引数は、SSLMBean の listenPort 属性の値を設定する。この属性には、Administration Console からもアクセスできる ([サーバ|接続|SSL ポート|SSL リスン ポート])。 リスン ポートを指定しない場合、デフォルトで 7002 が使用される。 詳細については、「ネットワーク リソースのコンフィグレーション」を参照。 |
|
サーバのルート ディレクトリに boot.properties を作成する。このファイルには、サーバの起動に使用したユーザ名とパスワードの暗号化バージョンが格納される。 詳細については、ユーザ名とパスワードのプロンプトの回避を参照。 |
|
ユーザ名とパスワードを格納する起動 ID ファイルを指定する。 filename の値は、有効な起動 ID ファイルの絶対パス名でなければならない。次に例を示す。 ファイル名を指定しない場合、サーバのルート ディレクトリにある boot.properties が使用される。起動 ID ファイルがない場合は、ユーザ名とパスワードの入力が求められる。 |
|
暗号化されたフラット ファイルからセキュア ソケット レイヤ (SSL) プライベート キーを取得するためのパスワードを指定する。 |
|
SSL を使用する場合、この引数を使用してサーバまたはクライアントで信頼される認証局を指定する。path の値は、Sun JKS キーストア ファイル (キーおよび証明書のリポジトリを格納) への相対パス名または絶対パス名でなければならない。 この引数を指定しない場合、WebLogic Server またはクライアントは、JAVA_HOME¥jre¥lib¥security¥cacerts で指定されているすべての証明書を信頼する。 |
|
WebLogic Server 付属のデモ用デジタル証明書を使用する場合に、この引数を指定する。 注意: プロダクション環境でデモ用デジタル証明書を使用したり、ホスト名検証を無効にしたりすることは望ましくない。 この引数を指定しない場合、WebLogic Server のホスト名検証では、デジタル証明書の SubjectDN と SSL 接続を開始したサーバのホスト名が比較される。SubjectDN とホスト名が一致しない場合、SSL 接続は中断される。 |
|
-Dweblogic.security.SSL. |
カスタム ホスト名検証クラスの名前を指定する。このクラスは weblogic.security.SSL.HostnameVerifier インタフェースを実装する必要がある。 |
-Dweblogic.security.SSL. -Dweblogic.security.SSL. |
SSL セッション キャッシングに対するサーバセッション キャッシュのデフォルトのサイズと存続期間を変更する。 sessionCacheSize の値はセッション キャッシュ内の項目数を指定し、sessionCacheTimeToLive の値はセッション キャッシュの存続期間 (秒単位) を指定する。 |
Java 2 セキュリティ マネージャを有効にする。Java 2 セキュリティ マネージャは、ポリシー ファイルで制限されているアクションが、信頼性のないコードによって実行されることを防止する。 -Djava.security.policy 引数は、Java 2 セキュリティ ポリシーを格納するファイル名を、相対パス名または絶対パス名で指定する。 編集して使用できる WebLogic Server のサンプル ポリシー ファイルは、WL_HOME¥server¥lib¥weblogic.policy。 詳細については、『WebLogic Security プログラマーズ ガイド』の「weblogic.policy ファイルの修正」を参照。 |
|
ユーザ アカウント guest のサポートを有効にする。この引数を使用して WebLogic Server インスタンスを起動する場合は、デフォルトのセキュリティ レルムの認証プロバイダに guest ユーザを追加しておく必要がある。 詳細については、『WebLogic リソースのセキュリティ』の「ユーザの作成」を参照。 |
|
サーバを起動して、スタンバイ (STANDBY) 状態にする。この起動引数を使用するには、別の管理ポートを使用するようにサーバをコンフィグレーションする必要がある。 管理ポートについては、『WebLogic Server ドメイン管理』の「ドメイン全体の管理ポートのコンフィグレーション」を参照。 この値は、Administration Console の [サーバ|コンフィグレーション|一般] タブで指定された startupMode の値を、現在のセッションに対してのみオーバーライドする。 コマンドラインまたは config.xml のいずれかで、この値を指定しない場合、デフォルトでは実行中 (RUNNING) 状態で起動される。 |
|
ドメイン内のすべてのサーバがプロダクション モードで起動するかどうかを指定する。 このオプションは、管理サーバを起動する場合にのみ適用できる。 管理対象サーバはすべて、管理サーバと同じモードで起動する。 true を指定すると、WebLogic Server は domain_name/applications ディレクトリにあるアプリケーションを自動的にデプロイおよび更新できなくなる。 このオプションを指定しない場合、値は false と見なされる。 詳細については、開発モードとプロダクション モードを参照。 |
|
管理サーバに障害が発生し、再起動された後、そのサーバがドメインの管理を回復するかどうかを指定する。 true を指定すると、管理サーバはその running-managed-servers.xml ファイルを参照する。このファイルには、デプロイ可能なモジュールのデプロイメント状態に関する情報および現在実行中のすべての管理対象サーバのリストが格納されている。この引数に true を指定して管理サーバを起動すると、管理サーバは管理対象サーバと通信し、実行中であることを管理対象サーバに通知する。 false を指定すると、管理サーバはファイルを参照できず、そのため、ドメイン内で現在アクティブな管理対象サーバと通信できなくなる。 警告: false の値は、単一サーバの開発環境でのみ指定すること。false を指定すると、ドメイン内のサーバ インスタンスが持つデプロイ済みモジュールのセットに整合性がなくなる可能性がある。 |
|
サーバおよび JVM の標準出力ストリームをファイルにリダイレクトする。パス名を、完全修飾で指定するか、WebLogic Server のルート ディレクトリからの相対で指定する。 詳細については、System.out および System.err のファイルへのリダイレクトを参照。 |
|
サーバおよび JVM の標準エラー ストリームをファイルにリダイレクトする。パス名を、完全修飾で指定するか、WebLogic Server のルート ディレクトリからの相対で指定する。 詳細については、System.out および System.err のファイルへのリダイレクトを参照。 |
weblogic.Server 起動コマンドの引数を使用して、以下の MBean の属性を設定できます。
MBean がセッター メソッドとして公開している属性を設定できます。上記の構文では、attribute-name は、MBean のセッター メソッドの名前から set プレフィックス除いたものです。
たとえば、ServerMBean は以下のセッター メソッドでそのリスン ポート属性を公開します。
weblogic.Server コマンドでリスン ポートの値を設定するには、次の構文を使用します。 -Dweblogic.ListenPort=portnumber
コマンドライン引数は MBean の現在の設定をオーバーライドします。その設定は、ドメインの config.xml ファイルには保持されません。
WebLogic Server は、開発環境とプロダクション環境の 2 つの異なるモードで実行できます。開発モードは、アプリケーションをテストする場合に使用します。プロダクション環境への準備が整ったら、プロダクション モードで起動されたサーバにアプリケーションをデプロイします。
開発モードでは、WebLogic Server は domain_name/applications ディレクトリ (domain_name は WebLogic Server ドメインの名前) にあるアプリケーションを自動的にデプロイおよび更新できます。
プロダクション モードでは、自動デプロイメント機能は無効になります。代わりに、WebLogic Server Administration Console または weblogic.Deployer ツールを使用する必要があります。 デプロイメントの詳細については、『WebLogic Server アプリケーションの開発』の「WebLogic Server デプロイメント」を参照してください。
デフォルトでは、WebLogic Server は開発モードで稼働します。サーバのモードを指定するには、以下のいずれかを実行します。
startWebLogic の詳細については、スクリプトを使用した管理サーバの起動を参照してください。
注意: プロダクション モードまたは開発モードはドメイン全体の設定であり、管理サーバの起動時に指定します。 管理対象サーバはすべて、管理サーバと同じモードで実行されます。
管理ポートおよび weblogic.Admin ユーティリティの起動引数
管理ポートとは、サーバ インスタンスを STANDBY 状態で起動する場合、またはドメイン内の管理トラフィックをアプリケーション トラフィックから分離する場合に設定する必要のある個別のポートです。
管理ポートを使用して weblogic.Admin ユーティリティからの要求を実行する場合は、以下のことを行う必要があります。
WebLogic Server のすべてのインスタンスは、ルート ディレクトリを使用して、実行時データを格納したり、サーバのコンフィグレーション内での相対パス名のコンテキストを提供したりします。
また、管理サーバでは、ドメインのコンフィグレーション データ (config.xml など) やセキュリティ リソース (デフォルトの組み込み LDAP サーバなど) のリポジトリとして、ルート ディレクトリを使用します。一方、管理対象サーバでは、レプリケートした管理データをルート ディレクトリに格納します (図 2-2 を参照してください)。
図2-2 WebLogic Server インスタンスのルート ディレクトリ
WebLogic Server の複数のインスタンスで、同じルート ディレクトリを使用することもできます。ただし、サーバ インスタンスでルート ディレクトリを共有する場合、すべての相対ファイル名はユニークでなければなりません。たとえば、2 つのサーバが 1 つのディレクトリを共有している場合、両方のサーバで .¥MyLogFile を指定すると、一方のサーバ インスタンスによってもう一方のサーバ インスタンスの .¥MyLogFile が上書きされます。
管理サーバのルート ディレクトリの判別は以下の手順で行われます。
管理対象サーバのルート ディレクトリの判別は以下の手順で行われます。
WebLogic Server ソフトウェアがアップグレードされてもドメイン コンフィグレーションとアプリケーションを簡単に維持できるようにするには、ルート ディレクトリを WebLogic Server ソフトウェアのインストール ディレクトリとは別のディレクトリにします。
使用している環境で問題が発生し、サーバをデフォルトのコンフィグレーションで起動する場合は、新しい config.xml ファイルを生成する方法で WebLogic Server を起動できます。
この新しい config.xml ファイルには、コマンドライン引数を使用してデフォルト値をオーバーライドしない限り、デフォルトの設定のみが格納されます。サーバの起動時に入力したユーザ名とパスワードが、デフォルトの管理ユーザとなります。
サーバは新しいドメインの管理サーバとして起動されます。このドメインには他のサーバはなく、また、デプロイメントもサードパーティ製ソリューションもありません。それらは任意の WebLogic ドメインに追加するのと同じように追加できます。
WebLogic Server で新しい config.xml ファイルを生成するには、config.xml ファイルがまだ格納されていないルート ディレクトリを使用して管理サーバを起動します。たとえば次のようにします。
パスワードの再入力が要求されます。新しいコンフィグレーションでサーバが起動されます。
WebLogic Server を管理対象サーバとして実行する前に、以下のことを行っておく必要があります。
この節では、管理対象サーバのドメインへの追加方法を説明してから、管理対象サーバの起動について説明します。管理対象サーバを起動するには、以下の中から必要なタスクを行います。
管理サーバが使用できない場合の管理対象サーバの起動については、『WebLogic Server ドメイン管理』の「管理サーバにアクセスできない場合の管理対象サーバの起動」を参照してください。
管理対象サーバをドメインに追加するには、次の手順に従います。
Windows の [スタート] メニューからの管理対象サーバの起動
コンフィグレーション ウィザードを使用して、Windows コンピュータ上で (管理サーバのコンフィグレーションと共に) 管理対象サーバを作成すると、Windows の [スタート] メニューにドメインをインストールするよう求められます。インストールすることを選択した場合は、次の手順に従って管理対象サーバを起動できます。
Windows のデスクトップから、[スタート|プログラム|BEA WebLogic Platform 7.0|User Projects|domain_name|Start Server] をクリックします。
コマンド ウィンドウが開き、スクリプト domain_name¥startManagedWebLogic.cmd が呼び出されます。このスクリプトについてはスクリプトを使用した管理対象サーバの起動で説明します。 サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。
<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
コマンドラインから WebLogic Server を起動するために必要な引数は長くなる場合があり、エラーが発生しやすくなるので、コマンドをスクリプトに組み込むことをお勧めします。
WebLogic Server とともにインストールされる JVM を使用していない場合は、WebLogic Server でのデフォルト以外の JVM の使用を参照してください。
コンフィグレーション ウィザード スクリプトを使用した管理対象サーバの起動
コンフィグレーション ウィザードを使用してドメインを作成すると、管理対象サーバの起動に使用できるスクリプトも作成されます。
管理サーバを起動するスクリプトと同様、startManagedWebLogic スクリプトも一部のドメイン固有の変数の値を設定します。ただし、startManagedWebLogic では、ドメインの管理サーバのリスン アドレスも指定します。これにより、サーバは管理対象サーバとして実行され、管理サーバからコンフィグレーションを取得できるようになります。
startManagedWebLogic を使用する前に、テキスト エディタでスクリプトを開き、SERVER_NAME 変数が、起動する WebLogic 管理対象サーバの名前に設定されていることを確認してください。ADMIN_URL には、管理サーバのホスト (ホスト名または IP アドレス) とリスン ポート番号 (デフォルトは 7001) が指定されていることも確認してください。次に例を示します。
set SERVER_NAME=bigguy
set ADMIN_URL=peach:7001
startManagedWebLogic を開いて修正する代わりに、以下のいずれかのコマンドを入力することもできます。
たとえば、次のコマンドは startWebLogic.cmd を使用して、ポート 7001 でリスンしている peach という管理サーバから myManagedServer という管理対象サーバを起動します。
c:¥user_domains¥mydomain¥startWebLogic.cmd myManagedServer http://peach:7001
startManagedWebLogic で指定できる変数と Java オプションの詳細については、スクリプトを使用した管理サーバの起動の表 2-1 を参照してください。
管理サーバへの接続のコンフィグレーションに関する詳細については、管理サーバへの接続のコンフィグレーションを参照してください。
サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。
<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
Administration Console など別の方法でドメインを作成する場合は、ドメインの管理対象サーバを起動する独自の起動スクリプトを作成できます。 独自にスクリプトを作成する手順は、管理サーバを起動する独自のスクリプトの作成で説明されている手順に、次の作業を追加したものになります。
ADMIN_URL 変数の値を設定する必要があります。 管理サーバへの接続のコンフィグレーションについては、管理サーバへの接続のコンフィグレーションを参照してください。
サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。
<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
コマンドラインから WebLogic 管理対象サーバを起動する場合は、管理サーバの起動に使用するコマンドと引数に、管理サーバへの接続をコンフィグレーションする以下のいずれかの引数を追加します。
管理サーバへの接続のコンフィグレーションについては、管理サーバへの接続のコンフィグレーションを参照してください。
管理サーバの起動に使用するコマンドと引数については、weblogic.Server コマンドの使用を参照してください。
サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。
<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
Windows の [スタート] メニュー、スクリプト、weblogic.Server コマンド、いずれの方法で管理対象サーバを起動する場合でも、管理サーバの適切なリスン アドレスが指定されていることを確認する必要があります。管理対象サーバは、このアドレスを使用して管理サーバからコンフィグレーションを取得します。
注意: 初めて管理対象サーバを起動するときは、管理サーバにアクセスできなければなりません。その後は、管理サーバが使用できない場合でも起動するよう管理対象サーバをコンフィグレーションできます。 詳細については、『WebLogic Server ドメイン管理』の「管理サーバにアクセスできない場合の管理対象サーバの起動」を参照してください。
リスン アドレスは、以下の形式のいずれかを使用して指定できます。
host は管理サーバが動作しているマシンの名前または IP アドレス、port は管理サーバのデフォルトの非 SSL リスン ポートです。管理サーバのデフォルトのリスン ポートは 7001 です。
この形式では、管理対象サーバはデフォルトのプロトコル (t3) を使用して管理サーバにアクセスします。デフォルトのプロトコルを変更するには、次の手順に従います。
host は管理サーバが動作しているマシンの名前または IP アドレス、port は管理サーバのデフォルトの非 SSL リスン ポートです。管理サーバのデフォルトのリスン ポートは 7001 です。
管理サーバのホスト IP アドレス、名前、およびデフォルトのリスン ポートを確認するには、コマンド シェルで管理サーバを起動します。サーバが正常に起動プロセスを完了すると、標準出力に次のようなメッセージが他のメッセージと共に出力されます。
<Apr 19, 2002 9:24:19 AM EDT> <Notice> <WebLogicServer> <000355> <Thread "Listen Thread.Default" listening on port 7001, ip address 11.12.13.141>
<Apr 19, 2002 9:24:19 AM EDT> <Notice> <WebLogicServer> <000331> <Started WebLogic Admin Server "myserver" for domain "mydomain" running in Development Mode>
IP アドレスおよびリスン ポートの値は、Administration Console からサーバの [コンフィグレーション|一般] タブにアクセスして変更できます。
管理対象サーバと管理サーバに対してセキュア ソケット レイヤ (SSL) 通信をコンフィグレーションしている場合は、この形式を使用できます。host は管理サーバが動作しているマシンの名前または IP アドレス、port は管理サーバの SSL リスン ポートです。
管理ポートを使用するように管理サーバを設定している場合は、port には管理ポートを指定する必要があります。
SSL の有効化については、Administration Console オンライン ヘルプの「SSL プロトコルのコンフィグレーション」を参照してください。 管理ポートの詳細については、『WebLogic Server ドメイン管理』の「ドメイン全体の管理ポートのコンフィグレーション」を参照してください。
管理対象サーバは管理サーバからコンフィグレーションを受信するので、指定する管理サーバは管理対象サーバと同じドメインになければなりません。
weblogic.Server コマンド (またはこのコマンドを実行するスクリプト) で起動する場合に、デフォルトでスタンバイ (STANDBY) 状態で起動するようサーバを設定するには、次の手順に従います (サーバをスタンバイ状態で起動するには、サーバに管理ポートを設定する必要があります)。
管理対象サーバのホスト マシン上でノード マネージャが実行されている場合は、Administration Console または weblogic.Admin ユーティリティを使用してリモート ホストから管理対象サーバを起動できます。ノード マネージャは、WebLogic Server 付属のスタンドアロンの Java プログラムであり、リモートの管理対象サーバを起動および停止できます。
Administration Console からのリモート サーバの起動については、Administration Console オンライン ヘルプの「サーバの起動」および「STANDBY 状態でのサーバの起動」を参照してください。
weblogic.Admin コマンド ユーティリティの使用方法については、STARTおよびSTARTINSTANDBYを参照してください。
ノード マネージャについては、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。
ドメインまたはクラスタ内のすべての WebLogic Server の起動および強制停止
管理対象サーバのホスト マシン上でノード マネージャが実行されている場合は、Administration Console を使用して、ドメインまたは特定のクラスタ内のすべての管理対象サーバを起動できます。管理サーバを Administration Console から起動することはできません。
また、Administration Console を使用して、ドメインまたはクラスタ内のすべての WebLogic Server を強制停止することもできます。強制停止コマンドは、管理対象サーバおよび管理サーバに対して強制的な停止を開始します。ノード マネージャは必要ありません。
ノード マネージャについては、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。
アクティブなドメイン内のすべての管理対象サーバを起動するには、次の手順に従います。
クラスタ内のすべての管理対象サーバを起動するには、次の手順に従います。
ドメイン内のすべてのサーバに対して強制停止を開始するには、次の手順に従います。
クラスタ内のサーバに対して強制停止を開始するには、次の手順に従います。
以下のいずれかの方法で、WebLogic Server を停止できます。
正常な停止を開始すると、サーバはサブシステムに作業中のすべてのリクエストを完了するように指示します。サブシステムが作業を完了した後、サーバは停止します。
強制停止を開始すると、サーバはサブシステムに作業中のリクエストを即座に中断するように指示します。管理対象サーバが応答しない場合や、ノード マネージャを使用してサーバを起動した場合は、ノード マネージャによってサーバが強制停止されます。
サーバは、すべてのサブシステムが正常に停止するのを設定されている秒数まで待ちます。時間が経過すると、サーバは以下のいずれかの処理を行います。
デフォルトの秒数の変更については、Administration Console オンライン ヘルプの「ライフサイクル オペレーションのタイムアウト設定」を参照してください。
起動クラスと停止クラスを使用すると、サーバの起動時や正常な停止時にタスクを実行するよう、WebLogic Server をコンフィグレーションできます。起動クラスは、WebLogic Server が起動または再起動するときに自動的にロードされて実行される Java プログラムです。
デフォルトでは、起動クラスは、他のサーバ サブシステムが初期化され、サーバがモジュールをデプロイした後に、自動的にロードされて実行されます。 起動クラスに対しては、デフォルトをオーバーライドして、サーバが JDBC 接続プール、Web アプリケーション、および EJB をデプロイする前にロードされ実行されるよう指定することもできます。
停止クラスは、Administration Console または weblogic.admin shutdown コマンドで WebLogic Server が停止されるときに自動的にロードされて実行される Java プログラムです。サーバが起動クラスと停止クラスを呼び出す時期に関する詳細については、サーバのライフサイクルを参照してください。
起動クラスまたは停止クラスを使用するには、それらのクラスをコンフィグレーションし、サーバに割り当てる必要があります。 Administration Console でクラスをコンフィグレーションするには、Administration Console オンライン ヘルプの「起動クラスと停止クラス」を参照してください。
WebLogic Server インスタンスの Windows サービスとしての設定
Windows ホスト コンピュータの起動時に WebLogic Server インスタンスを自動的に起動する場合は、サーバを Windows サービスとして設定します。
Windows サービスとして設定した各サーバ インスタンスに対して、Windows レジストリの HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services にキーが作成されます。レジストリ エントリには、サーバの名前などの起動引数の情報が格納されます。
Windows ホストを起動すると、Windows オペレーティング システムの一部である Windows サービス コントロール マネージャ (SCM) は、Windows レジストリ キーの情報を使用して、weblogic.Server メイン クラスを呼び出します。Windows SCM は、管理サーバの起動にノード マネージャを使用するようにはコンフィグレーションできません。したがって、Windows サービスとして実行されるサーバでは、ノード マネージャのモニタ機能および自動再起動機能を使用できません。
以下のタスクにより、Windows サービスとして実行される WebLogic Server インスタンスを設定および管理できます。
Windows サービスを設定するには、次の手順に従います。
ドメイン コンフィグレーション ウィザードの一部のドメイン テンプレートでは、サーバを Windows サービスとして設定することを求められます。[はい] を選択すると、ウィザードはサーバを Windows サービスとしてインストールします。管理サーバおよび管理対象サーバの作成にウィザードを使用した場合、Windows サービスは管理サーバについてのみ作成されます。ウィザードはまた、サーバ固有のスクリプトを作成します。これを修正して、他のサーバを Windows サービスとしてインストールするために使用できます。このスクリプトは domain-name¥installService.cmd という名前を付けられます。domain-name は、作成したドメインの名前を表します。
ドメイン コンフィグレーション ウィザードでドメインのサーバ固有のスクリプトが既に作成されていない場合は、自分で作成する必要があります。このスクリプトでは、サーバ インスタンス名などサーバ固有の情報を識別する変数値を設定します。その後、スクリプトはマスター スクリプト WL_HOME¥server¥bin¥installSvc.cmd を呼び出します。WL_HOME は、WebLogic Server をインストールしたディレクトリです。マスター スクリプトは beasvc ユーティリティを呼び出します。これにより、Windows レジストリにキーが追加されます。
注意: beasvc の詳細を参照するには、コマンド プロンプトでコマンド WL_HOME¥server¥bin¥beasvc -help を入力します。WL_HOME は、WebLogic Server のインストール先ディレクトリです。
サーバ固有のスクリプトの例は、リスト2-1 を参照してください。
absolute-pathname は、管理サーバのルート ディレクトリ (ドメインのコンフィグレーション ファイルが格納されているディレクトリ) の絶対パス名を表します。 サーバのルート ディレクトリの詳細については、サーバのルート ディレクトリを参照してください。
username は、サーバ インスタンスを起動する特権を持つ既存ユーザ名です。password は、そのユーザのパスワードです。beasvc ユーティリティは、ログイン資格を暗号化し、Windows レジストリに格納します。
これは、サーバ インスタンス起動時にユーザ名とパスワードの入力が求められないようにするための、2 つある方法のうちの 1 つです。この方法の短所は、サーバ インスタンスのユーザ名またはパスワードを変更すると、Windows サービスを削除して新しいユーザ名とパスワードで新しい Windows サービスを設定しなければならないことです。この方法を使用する代わりに、起動 ID ファイルを使用できます。起動 ID ファイルを使うと、Windows サービスを修正する必要なしにログイン資格を変更できます。 詳細については、ユーザ名とパスワードのプロンプトの回避を参照してください。
STARTMODE 変数が true に設定されていると、サーバ インスタンスはプロダクション モードで起動します。指定されていないか、false に設定されている場合は、サーバは開発モードで起動します。 開発モードおよびプロダクション モードの詳細については、開発モードとプロダクション モードを参照してください。
java-options は、Java 仮想マシン (JVM) に渡す 1 つまたは複数の Java 引数です。複数の引数はスペースで区切ります。 WebLogic Server 固有の Java オプションのリストについては、weblogic.Server コマンドの構文を参照してください。使用する JVM は追加のオプションをサポートしており、JVM ベンダによってドキュメント化されています。
JVM-mode は、JVM を実行するモードを示すテキスト文字列です。指定する値は、使用している JVM によって変わります。JRockit JVM を使用している場合、デフォルト値は、-jrockit です。 詳細については、『JRockit User Guide』の「Starting and Configuring the JRockit JVM」を参照してください。
サポートされている JVM の一覧については、http://edocs.beasys.co.jp/e-docs/wls/certifications/certs_700/overview.html の「サポート対象プラットフォームの一覧」を参照してください。
管理対象サーバを Windows サービスとしてインストールする場合は、ドメインの管理サーバの場所を指定する変数を含める必要があります。管理対象サーバは、管理サーバに接続してコンフィグレーション データを取得する必要があります。
管理対象サーバのその他の値を設定するには、以下の手順に従います。
詳細については、管理サーバへの接続のコンフィグレーションを参照してください。
たとえば、リスト2-1 の太字部分を参照してください。
コード リスト 2-1 サーバを Windows サービスとして設定するためのスクリプト例
echo off
SETLOCAL
set DOMAIN_NAME=myWLSdomain
set USERDOMAIN_HOME=d:¥bea¥user_projects¥myWLSdomain
set SERVER_NAME=myWLSserver
set STARTMODE=true
set JAVA_OPTIONS=-Dweblogic.Stdout="d:¥bea¥user_projects¥myWLSdomain¥stdout.txt" -Dweblogic.Stderr="d:¥bea¥user_projects¥myWLSdomain¥stderr.txt"
set ADMIN_URL=http://adminserver:7501
set MEM_ARGS=-Xms40m -Xmx250m
call "d:¥bea¥weblogic700¥server¥bin¥installSvc.cmd"
ENDLOCAL
同じコンピュータ上で管理サーバと管理対象サーバの両方を Windows サービスとして実行するように設定する場合、管理サーバが起動した後にだけ管理対象サーバが起動するように指定することができます。
管理対象サーバが管理サーバの Windows サービスより後に起動するように要求するには、以下の手順に従います。
管理サーバの beasvc 呼び出しは、変更後には次のようになります。
"%WL_HOME%¥server¥bin¥beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-delay:120000
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
beasvc の詳細を参照するには、コマンド プロンプトでコマンド WL_HOME¥server¥bin¥beasvc -help を入力します。WL_HOME は、WebLogic Server のインストール先ディレクトリです。
たとえば、管理対象サーバの beasvc 呼び出しは、変更後には次のようになります。
"%WL_HOME%¥server¥bin¥beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-depend:"myDomain_myAdminServer"
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
管理対象サーバ Windows サービスの状態が STARTED と報告されたときにコンフィグレーションしたい場合は、サービスに -delay:delay_milliseconds オプションを追加することも可能です。
デフォルトでは、Windows コントロール パネルを使用してサーバ インスタンスを停止すると、Windows サービス コントロール マネージャ (SCM) がサーバの Java 仮想マシン (JVM) を強制停止します。JVM を強制停止すると、サーバは直ちにすべての処理を終了します。セッション データはすべて失われます。サーバが config.xml ファイルへの書き込みを行っている間に管理サーバの JVM を強制停止すると、config.xml ファイルが破損する可能性があります。
Windows コントロール パネルから正常に停止を実行できるようにするには、次の手順に従います。
このメソッドにより、サーバは処理中の全作業を完了後に正常に停止されます。 そのようなクラスの例は、サーバ インスタンスを停止する Java クラス を参照してください。
たとえば、サーバ インスタンスを停止する Java クラスに記載のクラスを com.myClasses にパッケージ化する場合、修正後の beasvc コマンドは以下のようになります。
修正後の beasvc の呼び出しは以下に類似したものとなります。
"%WL_HOME%¥server¥bin¥beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-stopclass:com.myClasses.ServerStopper
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
beasvc の詳細を参照するには、コマンド プロンプトでコマンド WL_HOME¥server¥bin¥beasvc -help を入力します。WL_HOME は、WebLogic Server のインストール先ディレクトリです。
デフォルトでは、Windows 2000 のコントロール パネルを使用して Windows サービスを停止する場合、Windows SCM はサービスの停止を 30 秒間待機してからサービスを強制終了し、システムのイベント ログにタイムアウト メッセージを出力します。
-stopclass を使用してサーバを正常に停止する場合は、サーバが処理を正常に終了するまでにかかる時間は 30 秒を超える可能性があります。
Windows 2000 でタイムアウト期間をコンフィグレーションするには、次のレジストリ キーに ServicesPipeTimeout という名前の REG_DWORD レジストリ値を作成します。
HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control
この値は、Windows オペレーティング システムの起動中にレジストリから読み込まれ、インストールされているすべてのサービスに影響を及ぼします。
以下の Java クラスは、サーバ インスタンスの停止に Java Management Extensions (JMX) を使用します。各サーバは、JMX Managed Bean (MBean) を使用して、管理の属性および操作を公開します。そのような MBean の 1 つである ServerRuntime では、サーバを正常に停止する shutdown() メソッドが公開されています。
リスト2-2 に記載のクラスは、管理 MBeanHome インタフェースを使用します。これは、ドメイン内のすべてのサーバ インスタンスの ServerRuntime MBean 操作を取得し、呼び出すことができます。
JMX プログラミングの詳細については、『WebLogic JMX Service プログラマーズ ガイド』を参照してください。
コード リスト 2-2 サーバ インスタンスを停止する Java クラス
import java.util.Set;
import java.util.Iterator;
import java.rmi.RemoteException;
import javax.naming.*;
import weblogic.jndi.Environment;
import weblogic.management.MBeanHome;
import javax.management.ObjectName;
import weblogic.management.WebLogicMBean;
import weblogic.management.configuration.ServerMBean;
import weblogic.management.runtime.ServerRuntimeMBean;
import weblogic.management.WebLogicObjectName;
public class ServerStopper {
public static void stop() throws Exception {
MBeanHome home = null;
//管理サーバの url
String url = "t3://qa113:7001";
String username = "system";
String password = "gumby1234";
ServerRuntimeMBean serverRuntime = null;
Set mbeanSet = null;
Iterator mbeanIterator = null;
try {
// ContextClassloader を設定してアサーションを防止
URL[] urls = { new File("/").toURL() };
Thread.currentThread().setContextClassLoader(new
URLClassLoader(urls));
Environment env = new Environment();
env.setProviderUrl(url);
env.setSecurityPrincipal(username);
env.setSecurityCredentials(password);
Context ctx = env.getInitialContext();
home = (MBeanHome)
ctx.lookup("weblogic.management.adminhome");
mbeanSet = home.getMBeansByType("ServerRuntime");
mbeanIterator = mbeanSet.iterator();
while(mbeanIterator.hasNext()) {
serverRuntime = (ServerRuntimeMBean)mbeanIterator.next();
if(serverRuntime.getState().equals("RUNNING")) {
serverRuntime.shutdown();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
WebLogic Server インスタンスを Windows サービスとしてインストールした場合、デフォルトでは、サーバまたはその JVM が標準出力および標準エラーに出力したメッセージを表示することはできません。
これらのメッセージを表示できるようにするには、標準出力および標準エラーをファイルにリダイレクトする必要があります。
-ejbJar pathname
pathname は、サーバの標準出力と標準エラーのメッセージを格納するファイルの絶対パスとファイル名です。
"%WL_HOME%¥server¥bin¥beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
-log:"d:\bea\user_projects\myWLSdomain\myWLSserver-stdout.txt
デフォルト動作の変更については、デフォルトのローテーション基準の変更を参照してください。
サービスをインストールして Windows ホストを再起動したら、以下のいずれかを実行して標準出力または標準エラーに書き込まれたメッセージを表示します。
デフォルトでは、Windows サービスは 24 時間おきにメッセージを pathname-yyyy_mm_dd-hh_mm_ss という名前のファイルに保管します。 新しいメッセージは、サービスの設定時に指定したファイルに収集されます。
時間間隔を変更したり、時間間隔の代わりにメッセージ ファイルのサイズに基づいてローテーションが行われるように設定したりすることもできます。
Windows サービスがメッセージ ファイルをローテーションするデフォルト基準を変更するには、次の手順を行います。
たとえば、前節の手順 3. のサンプル コマンドを発行した場合は、d:¥bea¥wlserver6.1¥config¥mydomain¥myserver-stdout.txt という名前のファイルを作成します。
TIME_START_DATE は、最初のローテーションがいつ行われるのかを指定します。 指定された時刻が既に過ぎている場合、最初のローテーションは TIME_INTERVAL_MINS で指定された時間間隔が経過したときに行われます。 開始時刻の指定には、Month Day Year Hour:Minutes:Seconds という形式を使用する必要があります。
Month は、グレゴリアン暦の月を英語で表現したときの最初の 3 文字です。
Day は、グレゴリアン暦の 2 桁の日付です。
Year は、グレゴリアン暦の 4 桁の年です。
Hour:Minutes:Seconds は、24 時間形式の時刻を表します。
TIME_INTERVAL_MINS は、Windows サービスがファイルをローテーションする頻度 (分間隔) を指定します。
次に例を示します。
# ROTATION_TYPE = TIME
# TIME_START_DATE = Jul 17 2003 05:25:30
# TIME_INTERVAL_MINS = 1440
時間間隔が経過すると、Windows サービスはファイルを pathname-yyyy_mm_dd-hh_mm_ss として保存します。 次に、pathname という名前の新しいファイルを作成します。 この新しいファイルには最初に指定したすべてのヘッダが含まれており、新しい標準出力と標準エラーのメッセージが収集されます。
# ROTATION_TYPE = TIME を指定しても、他の行を挿入していない場合、Windows サービスは 24 時間おきにメッセージ ファイルをローテーションします。
# ROTATION_TYPE = SIZE
# SIZE_KB = file-size-in-kilobytes
# SIZE_TRIGGER_INTERVAL_MINS = polling-interval
SIZE_KB には、Windows サービスがメッセージを別のファイルに移動するきっかけになる最小のファイル サイズ (KB 単位) を指定します。
SIZE_TRIGGER_INTERVAL_MINS には、Windows サービスがファイル サイズを確認する頻度 (分単位) を指定します。 このヘッダを挿入しない場合、Windows サービスは 5 分おきにファイル サイズを確認します。
次に例を示します。
# ROTATION_TYPE = SIZE
# SIZE_KB = 1024
# SIZE_TRIGGER_INTERVAL_MINS = 3
ファイル サイズを確認してファイルが指定サイズより大きい場合、Windows サービスはそのファイルを pathname-yyyy_mm_dd-hh_mm_ss として保存します。 次に、pathname という名前の新しいファイルを作成します。 この新しいファイルには最初に指定したすべてのヘッダが含まれており、新しい標準出力と標準エラーのメッセージが収集されます。
# ROTATION_TYPE = SIZE を指定しても、他の行を挿入していない場合、Windows サービスは 5 分おきにメッセージ ファイルのサイズを確認します。 ファイルが 1MB より大きい場合、そのファイルはローテーションされます。
標準出力にスレッド ダンプを出力するには、以下のいずれかを実行します。
次に例を示します。
D:\bea\weblogic70\server\bin\beasvc -dump -svcname:mydomain_myserver
クラスパスとは、JVM が呼び出せる Java クラスの場所の宣言です。WebLogic Server のマスター スクリプトを使用してサーバ インスタンスを Windows サービスとしてインストールする場合、マスター スクリプトでは、サーバ インスタンスの実行に必要なすべてのクラスが指定されます。独自の Java クラスを追加して WebLogic Server を拡張する場合は、それらをクラスパスに追加する必要があります。
たとえば、c:¥myJar という名前のファイルにクラスをアーカイブした場合、修正後の文は以下のようになります。
set CLASSPATH=%JAVA_HOME%¥lib¥tools.jar;%WL_HOME%¥server¥lib¥weblogic_sp.jar;%WL_HOME%¥server¥lib¥weblogic.jar;c:\myJar;%CLASSPATH%
-classpath @filename
filename は、クラスパス値が含まれるファイルの名前です。
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-classpath @myClasspath.txt -Dweblogic.Name=%SERVER_NAME% -Dbea.home=¥"D:¥bea_70sp2¥" -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=¥"%ADMIN_URL%¥" -Dweblogic.ProductionModeEnabled=%STARTMODE% -Djava.security.policy=¥"%WL_HOME%¥server¥lib¥weblogic.policy¥" weblogic.Server"
注意: サーバ固有のスクリプトを実行するには、Windows レジストリを変更する権限のあるユーザ アカウントで Windows コンピュータにログインする必要があります。
Windows サービスをプロダクション環境にインストールした場合は、 管理者レベルの権限があるオペレーティング システム ユーザ アカウントではサービスを実行しないことをお勧めします。 詳細については、サービスを実行するユーザ アカウントの確認を参照してください。
サーバ固有のスクリプトを実行するには、以下の手順に従います。
WebLogic Server が Windows サービスとして正常に設定されていることを確認するには、次の手順に従います。
正常に設定されている場合は、beasvc -debug コマンドによってサーバが起動されます。スクリプトが以下のようなエラーを返す場合は、正しいサービス名を指定したかどうか確認してください。
Unable to open Registry Key ....... System¥CurrentControlSet¥Services¥beasvc example_examplesServer¥Parameters
プロダクション環境では、アクセス権限が限定された特別なオペレーティング システム ユーザ アカウントで WebLogic Server Windows サービスを実行する必要があります。 たとえば、その OS ユーザによるアクセスを BEA ファイルとドメイン ファイルに限定します。 そして、これらのファイルへのアクセスを、このユーザ アカウントにのみ許可します。
WebLogic Server インスタンスが、常に特別な OS ユーザ アカウントで実行されるようにするには、以下の手順に従います。
コントロール パネルを使用したサーバ インスタンスの停止と再起動
Windows サービスとして実行されるようサーバ インスタンスを設定したら、コントロール パネルの [サービス] を使用して、サーバを停止および再起動できます。
デフォルトでは、Windows コントロール パネルを使用してサーバ インスタンスを停止すると、Windows サービス コントロール マネージャ (SCM) がサーバの Java 仮想マシン (JVM) を強制停止します。JVM を強制停止すると、サーバは直ちにすべての処理を終了します。セッション データはすべて失われます。サーバが config.xml ファイルへの書き込みを行っている間に管理サーバの JVM を強制停止すると、config.xml ファイルが破損する可能性があります。 Windows のコントロール パネルによって正常な停止を可能にするための詳細については、コントロール パネルからの正常な停止の有効化を参照してください。
Windows サービスとしてインストールされている WebLogic Server インスタンスを停止または再起動するには、次の手順に従います。
WebLogic Server インスタンスを実行する Windows サービスを削除するには、beasvc ユーティリティが Windows レジストリから関連のキーを削除するように指定したスクリプトを使用できます。Windows サービスを削除しても、ドメインのコンフィグレーション ファイルに保存されているサーバ インスタンスのコンフィグレーションには影響はありません。Windows サービスを削除した後は、WebLogic Server インスタンスを起動スクリプトで、または管理対象サーバの場合はノード マネージャで起動できます。
ドメイン コンフィグレーション ウィザードでドメインのスクリプトが既に作成されていない場合は、自分で作成する必要があります。このスクリプトでは、サーバ インスタンス名などサーバ固有の情報を識別する変数値を設定します。その後、スクリプトはマスター アンインストール スクリプト WL_HOME¥server¥bin¥uninstallSvc.cmd を呼び出します。WL_HOME は、WebLogic Server をインストールしたディレクトリです。マスター スクリプトは beasvc ユーティリティを呼び出します。これにより、Windows レジストリからキーが削除されます。
サーバ固有のアンインストーラ スクリプトの例は、リスト2-3 を参照してください。
WebLogic Server インスタンスを実行する Windows サービスを削除するスクリプトを作成するには、次の手順に従います。
削除スクリプトは正常に実行されると、標準出力に以下のような行を出力します。
mydomain_myserver removed.
デフォルトでは、標準出力は、batch ファイルを実行するコマンド プロンプトです。
コード リスト 2-3 Windows サービスを削除するスクリプト
echo off
SETLOCAL
set DOMAIN_NAME=myWLSdomain
set SERVER_NAME=myWLSserver
call "D:¥bea¥weblogic700¥server¥bin¥uninstallSvc.cmd"
ENDLOCAL
Windows サービスとしてのサーバ設定に対する起動資格の変更
WebLogic Server インスタンスが別のユーザ資格に基づいて実行されるように Windows サービスを変更するには、以下の処理のいずれかを実行します。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |