ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     管理者ガイド   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

WebLogic Server の起動と停止

 

以下の節では、管理サーバと管理対象サーバを起動および停止する手順について説明します。

 


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 管理サーバを起動するには、以下の複数の方法があります。

注意: 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 PlatformWebLogic 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 は、コントロール パネルの [サービス] を使用しても簡単に停止および起動できます。

  1. [スタート|設定|コントロール パネル] を選択します。

  2. コントロール パネルで [サービス] をダブルクリックします。

  3. [サービス] ダイアログ ボックスで、スクロールしながら WebLogic Server を見つけます。WebLogic Server が「開始」状態の場合は、WebLogic Server を選択することで [停止] ボタンを使用できるようになります。[停止] ボタンをクリックすると、WebLogic Server が停止します。WebLogic Server が停止状態の場合は、[開始] ボタンを使用できます。

Windows サービスは、[スタートアップ] ボタンをクリックしてモードを選択することで、自動、手動、または無効として設定できます。

コマンドラインからの WebLogic 管理サーバの起動

WebLogic Server は Java クラス ファイルであり、他のどの Java アプリケーションとも同じように、java コマンドを使用して起動できます。コマンドラインから WebLogic Server を起動するために必要な引数は、かなり長くなる場合があり、起動のたびに入力するのは面倒です。起動コマンドの入力ミスを防ぐために、WebLogic Server を起動するときに使用できるスクリプトにコマンドを組み込むことをお勧めします。

java コマンドラインから WebLogic 管理サーバを起動するときには、以下の引数が必要です。

クラスパス オプションの設定

java コマンドラインでは、-classpath オプションの値として以下のように指定する必要があります。

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

pathconfig\server-root の親のディレクトリです。

たとえば、サーバのルート ディレクトリが c:\myproject\config\Mydomain の場合、-Dweblogic.RootDirectory=c:\myproject のように指定します。

WebLogic Server ソフトウェアの複数回のアップグレードにまたがってドメイン コンフィグレーションとアプリケーションを容易に保守できるようにするには、ルート ディレクトリと WebLogic Server ソフトウェアのインストール ディレクトリを別々にすることをお勧めします。

スクリプトを使用した管理サーバの起動

WebLogic Server 配布キットには、WebLogic Server の起動に使用できるサンプル スクリプトが付属しています。それらのスクリプトは、実際の環境やアプリケーションに合わせて修正する必要があります。管理サーバの起動用と管理対象サーバの起動用に、別々のサンプル スクリプトが用意されています。管理サーバを起動するためのスクリプトは、startWebLogic.sh(UNIX)と startWeblogic.cmd(Windows)です。これらのスクリプトは、ドメインのコンフィグレーション サブディレクトリに配置されています。

サンプル スクリプトを使用するには、次の作業を行います。

管理対象サーバの動作中における管理サーバの再起動

典型的なプロダクション システムの場合、重要なビジネス ロジックが格納されているアプリケーションは管理サーバにデプロイしないことをお勧めします。その場合の管理サーバの役割は、管理対象サーバをコンフィグレーションおよびモニタすることです。このようなコンフィグレーションの場合は、管理サーバが利用できなくなっても、管理対象サーバで動作しているアプリケーションではクライアントの要求を処理し続けることができます。

管理サーバが起動すると、アクティブなドメインの起動に使用されたコンフィグレーション ファイルのコピーが作成されます。これは、次のファイルに保存されます。

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 を再起動する必要があります。管理対象サーバを検出すると、管理サーバでは管理対象サーバをモニタしたり、動的にコンフィグレーションできる属性の値を実行時に変更したりできます。

別のマシンでの管理サーバの再起動

マシンのクラッシュにより、同じマシンで管理サーバを再起動できない場合は、次のようにして動作している管理対象サーバの管理を回復できます。

  1. 新しい管理マシンに WebLogic Server ソフトウェアをインストールします(インストールされていない場合)。

    注意: WebLogic Server 6.1 のサービス パック 2 をインストールしていない場合、新しい管理マシンのホスト名は、障害が発生した管理サーバをホストしていたマシンと同じでなければなりません。

  2. ファイルをバックアップからコピーして、または共有ディスクを使用して、新しい管理サーバがアプリケーション ファイルを利用できるようにします。新しいファイル システムにおけるアプリケーション ファイルの相対位置は、元の管理サーバのファイル システムと同じでなければなりません。

  3. ファイルをバックアップからコピーして、または共有ディスクを使用して、新しい管理マシンがコンフィグレーション ファイルとセキュリティ ファイルを利用できるようにします。これらのファイルは、管理サーバの /config/myDomain ディレクトリにあります。myDomain は、管理サーバが管理しているドメインの名前です。

  4. コマンドラインで次の引数を指定して、新しいマシンで管理サーバを再起動します。

    -Dweblogic.management.discover=true

    この引数を指定すると、管理サーバは動作している管理対象サーバの存在を検出します(このプロパティを省略しても、管理サーバは検出を実行します。ただし、WebLogic Server の起動に使用するコマンド ラインでこのプロパティが定義されていないこと、または false に設定されていないことを確認する必要があります)。

    管理サーバは、起動すると、管理対象サーバと通信を行って、管理サーバがこれまでと異なる IP アドレスで動作していることを通知します。

サーバ起動処理

WebLogic Server を起動する際、以下の動作になります。

  1. コンフィグレーション データおよびブートストラップ セキュリティ データを取り出します。

    管理サーバは、そのドメインのコンフィグレーション ファイルからコンフィグレーション データとセキュリティ データを取り出します。管理対象サーバは、自分のコンフィグレーション データとセキュリティ データについて、管理サーバに問い合わせます。 SSL を設定している場合、管理対象サーバは自分自身が持つ証明書ファイル、キー ファイルその他の SSL 関連ファイルの セットを使用し、また、それ以外のコンフィグレーション データとセキュリティ データについては管理サーバに問い合わせます。

  2. ロギング サービス、タイマ サービスなどカーネル レベルのサービスを起動します。

  3. サブシステム レベルのサービスを初期化し、MBean からコンフィグレーションを取り出します。このようなサービスには、以下のようなものがあります。

    • セキュリティ サービス

    • RMI サービス

    • クラスタ サービス

    • IIOP サービス

    • ネーミング サービス

    • RMI ネーミング サービス

    • ファイル サービス

    • JCA コンテナ

    • JDBC コンテナ

    • EJB コンテナ

    • Web コンテナ

    • デプロイメント マネージャ

    • JMS プロバイダ

    • リモート管理

    • トランザクション サービス

  4. 適切なコンテナ内にあるモジュールを、WebLogic Server Administration Console で指定した順にデプロイします。

  5. コンフィグレーション済みのスタートアップ クラスをロードし実行します。

 


WebLogic 管理対象サーバのドメインへの追加

WebLogic Server を管理対象サーバとして実行するためには、まず、ドメインのコンフィグレーションでそのサーバのエントリを作成する必要があります。そのためには、次の操作を行います。

  1. ドメインの管理サーバを起動します。

  2. ブラウザで http://hostname:port/console を指定して Administration Console を起動します。hostname は管理サーバが動作しているマシンの名前、port は管理サーバでコンフィグレーションされているリスン ポート番号(デフォルトは 7001)です。

  3. 管理サーバ マシンと異なる場合は、サーバ マシンのエントリを作成します([マシン|新しい Machine のコンフィグレーション])。

  4. 新しいサーバのエントリを作成します([サーバ|新しい Server のコンフィグレーション])。この管理対象サーバのマシンを、たった今エントリを作成したばかりのマシンに設定します。サーバが異なるドメインにある場合でも、各サーバには固有の名前を付ける必要があります。

サーバのコンフィグレーションの詳細については、「 WebLogic Server とクラスタのコンフィグレーション」を参照してください。

 


WebLogic 管理対象サーバの起動

WebLogic 管理対象サーバは、以下のいずれかの方法で起動できます。

この節では、WebLogic 管理対象サーバをローカルで起動する方法について説明します。ノード マネージャを設定および使用して管理対象サーバをリモートで起動する方法については、「 ノード マネージャ」を参照してください。

注意: Administration Console の左ペインでサーバの名前を右クリックした場合、表示されるオプションの 1 つは [このサーバを開始...] です。このオプションは、管理対象サーバのあるマシン上でノード マネージャが動作している状態で管理対象サーバを起動する場合にのみ使用できます。詳細については、「 ノード マネージャ」を参照してください。

コンフィグレーションに WebLogic 管理対象サーバを追加したら(「 WebLogic 管理対象サーバのドメインへの追加」を参照)、java コマンドラインから管理対象サーバを起動できます。WebLogic Server を起動するコマンドは、コマンド シェルに手動で入力するか、またはサーバを起動するたびにコマンドを入力しなくて済むようにスクリプトに配置できます。サンプル スクリプトについては、「 スクリプトを使用した WebLogic 管理対象サーバの起動」を参照してください。

管理対象サーバの起動パラメータが管理サーバの場合とおもに違う点は、管理対象サーバがコンフィグレーションを要求する管理サーバの位置を引数として指定しなければならないことです。このパラメータなしで起動した WebLogic Server は、管理サーバとして実行されます。

WebLogic 管理対象サーバを起動するときには、管理サーバを起動するときに指定するパラメータ(「 コマンドラインからの WebLogic 管理サーバの起動」を参照)を指定するとともに、以下の事項を指定する必要があります。

スクリプトを使用した WebLogic 管理対象サーバの起動

WebLogic Server 配布キットには、WebLogic Server の起動に使用できるサンプル スクリプトが付属しています。それらのスクリプトは、実際の環境やアプリケーションに合わせて修正する必要があります。管理サーバの起動用と管理対象サーバの起動用に、別々のスクリプトが用意されています。管理対象サーバを起動するためのサンプル スクリプトは、startManagedWebLogic.sh(UNIX)と startManagedWebLogic.cmd(Windows)です。これらのスクリプトは、ドメインのコンフィグレーション サブディレクトリに配置されています。これらのスクリプトは、修正して独自の起動スクリプトを作成するために使用できるテンプレートです。

サンプル スクリプトを使用するには、次の作業を行います。

スクリプトを使用して管理対象サーバを起動するには、以下の 2 通りの方法があります。

 


Administration Console からの WebLogic Server の停止

Administration Console の左ペインでサーバを右クリックすると、[このサーバを強制停止...][このサーバを停止...] という 2 つのオプションが表示されます。[このサーバを強制停止...] オプションを選択すると、管理対象サーバが動作しているマシン上のノード マネージャに管理サーバが要求を送信します。ノード マネージャは、対象の WebLogic Server プロセスを強制停止します。[このサーバを強制停止...] オプションは、管理サーバを停止するためには使用できません。[このサーバを強制停止...] オプションを使用するには、目的の管理対象サーバのあるマシンでノード マネージャが動作している必要があります。ノード マネージャの設定と起動については、「 ノード マネージャ」を参照してください。

[このサーバを停止...] オプションを選択すると、選択されたサーバに管理サーバが停止要求を送信します。ノード マネージャはこの場合には使用されません。[このサーバを強制停止...] オプションとは違って、[このサーバを停止...] オプションは管理サーバを停止するために使用できます。

[このサーバを停止...] オプションでは管理対象サーバの管理機能を使用して停止を開始するので、サーバがアクティブで、管理要求に応答している場合にのみ使用できます。[このサーバを強制停止...] オプションは、通常は、目的の管理対象サーバがハングしているか、管理サーバからの管理要求に応答していない場合に使用します。

コマンドラインからのサーバの停止

WebLogic Server は、次のコマンドを使用してコマンドラインからでも停止できます。

java weblogic.Admin -url host:port SHUTDOWN -username adminname -password password

各値の説明は次のとおりです。

 


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 インスタンスを作成してあるものとします。

  1. デフォルトの Windows サービス インストール スクリプトで、Windows サービスの名前、サーバ インスタンスの名前、サーバ インスタンスを起動するための WebLogic Server パスワードを指定します。詳細については、 サーバ インスタンスと Windows サービスの名前の指定を参照してください。

  2. 管理対象サーバを Windows サービスとしてインストールする場合は、ドメインの管理サーバの場所を指定するコマンド オプションを追加します。詳細については、 管理サーバの場所の指定を参照してください。

  3. 管理サーバと管理対象サーバの両方を同じコンピュータ上で動作する Windows サービスとして設定する場合は、管理サーバの起動サイクルが終了した後で必ず管理対象サーバが起動するようにしなければなりません。詳細については、 管理サーバ起動後に管理対象サーバを起動させる指定を参照してください。

  4. Windows のコントロール パネルを使って Windows サービスを停止するとサーバ インスタンスが安全にシャットダウンするようにしたい場合は、サーバ インスタンスが安全にシャットダウンするためのコマンド オプションを追加する必要があります。詳細については、 Windows コントロール パネルからの安全なシャットダウンを参照してください。

  5. サーバ インスタンスが標準出力と標準エラー (スタック トレースとスレッド ダンプを含む) に出力するメッセージを確認したい場合は、標準出力と標準エラーをファイルにリダイレクトする必要があります。詳細については、 ファイルへの標準出力と標準エラーのリダイレクトを参照してください。

  6. WebLogic Server インスタンスから呼び出す Java クラスを追加作成した場合は、サーバのクラスパスに追加する必要があります。詳細については、 クラスパスへのクラスの追加を参照してください。

  7. Windows サービス インストール スクリプトを実行します。詳細については、 インストール スクリプトの実行を参照してください。

サーバ インスタンスと Windows サービスの名前の指定

Windows サービスとして実行するサーバ インスタンスの名前を指定するには:

  1. weblogic\config\mydomain\installNTService.cmd のバックアップ コピーを作成します。weblogic は WebLogic Server をインストールしたディレクトリで、mydomain は WebLogic Server のインストール時にユーザが作成したドメインです。

  2. テキスト エディタで installNTService.cmd を開きます。

  3. set CMDLINE= で始まる行で、-Dweblogic.Name= の値を、Windows サービスとして起動するサーバの名前に変更します。たとえば、-Dweblogic.Name=myserver のようにします。

  4. スクリプトの最後のコマンドは、beasvc ユーティリティを呼び出しています。このコマンドを以下のように変更します。

    1. -svcname の値をサービスの一意な名に変更します。たとえば、次のようにドメインとサーバ インスタンスの名前を使用します。
      -svcname:mydomain_myserver

    2. beasvc コマンドの最後に -password:password を追加します。passwordsystem ユーザのパスワードです。

      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 スクリプトを変更して管理サーバの場所を指定する必要があります。管理対象サーバは、管理サーバに接続してコンフィグレーション情報を受け取る必要があります。

管理サーバの場所を指定するには:

  1. テキスト エディタで installNTService.cmd を開きます。

  2. set CMDLINE= で始まる行で、-Dweblogic.Name 引数の後に次の引数を追加します。
    -Dweblogic.management.server=http://host:port

    host は管理サーバが稼働しているマシンの名前または IP アドレスで、port は管理サーバのリスン ポートです。

    管理サーバとの通信にセキュア ソケット レイヤ (SSL) を使用している場合は、管理サーバを次のように指定する必要があります。

    -Dweblogic.management.server=https://host:port

管理サーバ起動後に管理対象サーバを起動させる指定

管理サーバと管理対象サーバが両方とも同じコンピュータ上の Windows サービスとして稼働するよう設定する場合は、必ず管理サーバが起動した後で管理対象サーバが起動するように指定します。

管理サーバの Windows サービスが起動した後で管理対象サーバが起動するよう指定するには:

  1. weblogic\config\mydomain\installNTService.cmd のバックアップ コピーを作成します。weblogic は WebLogic Server のインストール ディレクトリで、mydomain は WebLogic Server のインストール時に作成したドメインです。

  2. 既に管理サーバを Windows サービスとしてインストールしてある場合は、そのサービスを削除します。詳細については、 Windows サービスとしての WebLogic Server の削除を参照してください。

  3. Windows サービスとして管理サーバをインストールまたは再インストールする前に、以下の作業を行います。

    1. テキスト エディタで weblogic\config\mydomain\installNTService.cmd スクリプトを開きます。

    2. 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 をインストールしたディレクトリです。

  4. 管理サーバを Windows サービスとしてインストールします。

  5. 管理対象サーバを Windows サービスとしてインストールする前に、以下の作業を行います。

    1. テキスト エディタで、weblogic\config\mydomain\installNTService.cmd スクリプトを開きます。

    2. 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 コントロール パネルから安全にシャットダウンできるようにするには:

  1. テキスト エディタで weblogic\config\mydomain\installNTService.cmd スクリプトを開きます。

  2. 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 をインストールしたディレクトリです。

  3. Windows SCM が指定するデフォルトのタイムアウト値の変更を検討します。

    デフォルトでは、Windows 2000 のコントロール パネルを使って Windows サービスを停止すると、Windows SCM はサービスが停止するのを 30 秒間待った後、サービスを強制停止し、システム イベント ログにタイムアウト メッセージを書き込みます。

    -stopclass を使ってサーバを安全にシャットダウンする場合、サーバが処理を安全に終了するのに 30 秒では十分ではない可能性があります。

    Windows 2000 のタイムアウト時間をコンフィギュレーションするには、次のレジストリ キーの下に ServicesPipeTimeout という名前で REG_DWORD のレジストリ値を作成します。
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

    キーの値はミリ秒単位でなければなりません。

    Windows オペレーティング システムは起動時にレジストリからこの値を読み取り、インストールされているすべてのサービスに適用します。

  4. 変更した installNTService.cmd スクリプトを保存します。

ファイルへの標準出力と標準エラーのリダイレクト

WebLogic Server インスタンスを Windows サービスとしてインストールすると、デフォルトでは、サーバまたは JVM が標準出力と標準エラーに書き出すメッセージを見ることはできません。

Windows サービスとしてインストールされているサーバ インスタンスに対するこれらのメッセージを見るには、標準出力と標準エラーをファイルにリダイレクトする必要があります。

  1. テキスト エディタで installNTService.cmd を開きます。

  2. 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 が標準出力または標準エラーに書き出すメッセージを見るには、次のいずれかの方法を使用します。

WebLogic Server インスタンスがスレッド ダンプを標準出力に書き出すように指定するには、次のいずれかの方法を使用します。

クラスパスへのクラスの追加

クラスパスは、JVM が呼び出すことのできる Java クラスの場所を宣言したものです。サーバ インスタンスを Windows サービスとしてインストールするときは、サーバ インスタンスを実行するために必要なすべてのクラスを installNTService.cmd スクリプトで指定します。独自の Java クラスを追加して WebLogic Server を拡張する場合は、その Java クラスをクラスパスに追加する必要があります。

クラスパスにクラスを追加するには:

  1. weblogic\config\mydomain\installNTService.cmd のバックアップ コピーを作成します。weblogic は WebLogic Server のインストール ディレクトリで、mydomain は WebLogic Server のインストール時に作成したドメインです。

  2. テキスト エディタで installNTService.cmd を開きます。

  3. 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 の制限を超える可能性があります。

    この制限を回避するには:

    1. set CLASSPATH コマンドの値を別のテキスト ファイルに移し、そのテキスト ファイルを weblogic\server\bin ディレクトリに保存します。

    2. weblogic\config\mydomain\installNTService.cmd スクリプトで、set CMDLINE コマンドを探します。

    3. 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"

  4. 変更した installNTService.cmd スクリプトを保存します。

インストール スクリプトの実行

  1. コマンド プロンプトを開き、weblogic\config\mydomain に移動します。

  2. installNTService.cmd と入力します。

    コマンド プロンプトが、スクリプトを batch ファイルとして実行します。

    スクリプトが正常に実行されると、 DOMAIN_NAME_SERVER_NAME という名前の Windows サービスが作成されて、次のような行が標準出力に出力されます。
    mydomain_myserver installed

    デフォルトでは、標準出力はサーバ固有の batch ファイルを実行したコマンド プロンプトです。

  3. installNTService.cmd スクリプトからパスワードを削除します。このパスワードを暗号化されていない状態のままファイルシステムに残しておくと、セキュリティ上の弱点になります。

Windows サービスとしての WebLogic Server の削除

Windows サービスとしての WebLogic Server を削除するには、次の操作を行います。

  1. weblogic\config\mydomain ディレクトリに移動します。weblogic は WebLogic Server がインストールされたディレクトリ、mydomain はドメインのコンフィグレーションが格納されているサブディレクトリです。

  2. テキスト エディタで uninstallNTService.cmd スクリプトを開きます。

  3. -svcname: の値を、削除するサービスの名前に変更します。

  4. uninstallNTService.cmd を保存して実行します。

Windows サービスとしてインストールされた WebLogic Server のパスワードの変更

デフォルト サーバを Windows サービスとしてインストールした場合、サービスを作成するときには、WebLogic Server ソフトウェアのインストール時に入力したシステム パスワードが使用されます。このパスワードが後で変更された場合、次の手順を行います。

  1. uninstallNTService.cmd スクリプト(install_dir\config\domain_name ディレクトリに格納されている。install_dir は WebLogic Server をインストールしたディレクトリ)を使用して、Windows サービスとしての WebLogic Server をアンインストールします。

  2. 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 は新しいパスワードです。

  3. 修正された installNTservice.cmd スクリプトを実行します。これで、パスワードが更新された新しいサービスが作成されます。

 


スタートアップ クラスとシャットダウン クラスの登録

WebLogic Server には、WebLogic Server が起動するときまたは正常に停止するときに処理を実行するメカニズムがあります。スタートアップ クラスは、WebLogic Server が起動または再起動するときに自動的にロードされて実行される Java プログラムです。 サーバのロードとスタートアップ クラスをの実行をいつ行うかの詳細については、 サーバ起動処理 を参照してください。

シャットダウン クラスは、スタートアップ クラスと同じように機能します。シャットダウン クラスは、Administration Console または weblogic.admin shutdown コマンドを使用して WebLogic Server が停止されるときに自動的にロードされて実行されます。

WebLogic Server でスタートアップ クラスまたはシャットダウン クラスを使用するには、それらのクラスを登録する必要があります。スタートアップ クラスとシャットダウン クラスは、Administration Console で登録できます。

スタートアップ クラスまたはシャットダウン クラスを登録するには、次の操作を行います。

  1. Administration Console のドメイン ツリー(左ペイン)から [起動と停止] テーブルにアクセスします。このテーブルには、ドメイン コンフィグレーションでシャットダウン クラスまたはスタートアップ クラスのエントリを作成するためのオプションがあります。

  2. 追加するスタートアップ クラスまたはシャットダウン クラスの [コンフィグレーション] タブ ページでクラス名と必要な引数を指定します。

以下の機能の詳細については、Administration Console のオンライン ヘルプを参照してください。

 

back to top previous page next page