第10章 オフライン設定でのサーバーの埋め込み
JBoss EAP スタンドアロンサーバーまたはホストコントローラープロセスを管理 CLI プロセス内に埋め込みすることができます。これにより、ネットワーク上で認識できない場合でもサーバーを設定することが可能になります。これは、一般的にサーバーがオンラインになる前に、セキュリティー関連の設定の管理やポートの競合の回避など、サーバーの初期設定で使用されます。
この、管理 CLI を経由した JBoss EAP インストールの直接的なローカル管理には、ソケットベースの接続が必要ありません。リモート JBoss EAP サーバーとの対話で一貫性を保つよう、埋め込みサーバーを持つ管理 CLI を使用できます。リモートサーバーの管理に使用できる標準の管理 CLI コマンドはすべて利用できます。
埋め込みスタンドアロンサーバーの起動
追加のプロセスを起動したり、ネットワークソケットを開かなくても、管理 CLI を使用してスタンドアロンサーバーをローカルで起動し、スタンドアロン設定を編集することができます。
以下の手順は、管理 CLI の起動、埋め込みスタンドアロンサーバーの開始、設定の変更、および埋め込みサーバーの停止を行います。
管理 CLI を起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EAP_HOME/bin/jboss-cli.sh
$ EAP_HOME/bin/jboss-cli.sh
埋め込みスタンドアロンサーバーを起動します。
--std-out=echo
パラメーターを渡すと、標準出力がターミナルに表示されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow embed-server --std-out=echo
embed-server --std-out=echo
希望の操作を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /socket-binding-group=standard-sockets/socket-binding=management-http:write-attribute(name=port,value=9991)
/socket-binding-group=standard-sockets/socket-binding=management-http:write-attribute(name=port,value=9991)
埋め込みサーバーを停止します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stop-embedded-server
stop-embedded-server
これにより、埋め込みサーバーが停止し、管理 CLI セッションが返されます。管理 CLI セッションも終了する場合は、
quit
を使用できます。
サーバー設定の指定
デフォルトでは、埋め込みサーバーは standalone.xml
設定ファイルを使用します。--server-config
パラメーターを使用すると別の設定ファイルを指定できます。
embed-server --server-config=standalone-full-ha.xml
embed-server --server-config=standalone-full-ha.xml
admin-only モードの開始
デフォルトでは、埋め込みサーバーは admin-only
モードで起動されます。これは、サーバー管理に関するサービスを起動しますが、他のサービスは起動せず、エンドユーザーの要求も受け入れません。これは、サーバーの初期設定時に便利です。
--admin-only
パラメーターを false に設定すると、埋め込みサーバーを通常の実行モードで起動できます。
embed-server --admin-only=false
embed-server --admin-only=false
また、reload
コマンドを使用して実行モードを変更することもできます。
reload --start-mode=normal
reload --start-mode=normal
標準出力の制御
埋め込みサーバーからの標準出力の処理方法を制御することができます。デフォルトでは、標準出力は破棄されますが、サーバーログに出力が記録されます。--std-out=echo
を渡すと、サーバーの出力を管理 CLI の出力と表示できます。
embed-server --std-out=echo
embed-server --std-out=echo
ブートタイムアウト
デフォルトでは embed-server
コマンドは、埋め込みサーバーが完全に起動するまで無期限にブロックされます。--timeout
パラメーターを使用すると待機時間を秒単位で指定できます。1
未満の値の場合、CLI が埋め込みサーバーを管理できる状態になった時点で即座に返されます。
embed-server --timeout=30
embed-server --timeout=30
空の設定での開始
埋め込みサーバーを開始するとき、空の設定で開始するように指定できます。これは、管理 CLI コマンドを使用してサーバー全体の設定を構築する場合に便利です。
embed-server --server-config=my-config.xml --empty-config
embed-server --server-config=my-config.xml --empty-config
ファイルが存在すると、このコマンドは失敗します。これにより、設定ファイルを誤って削除しないようにします。--remove-existing
パラメーターを渡すと、既存の設定をすべて削除するよう指定できます。
embed-server --server-config=my-config.xml --empty-config --remove-existing
embed-server --server-config=my-config.xml --empty-config --remove-existing
埋め込みホストコントローラーの開始
追加のプロセスを起動したり、ネットワークソケットを開かなくても、管理 CLI を使用してホストコントローラーをローカルで起動し、ドメインおよびホストコントローラーの設定を変更することができます。
埋め込みホストコントローラーは、そのサーバーを起動しません。さらに、埋め込みホストコントローラーを開始するときに --admin-only
パラメーターを使用することもできません。常に admin-only
モードになるように起動されます。
以下の手順は、管理 CLI の起動、埋め込みホストコントローラーの開始、設定の変更、および埋め込みホストコントローラーの停止を行います。
管理 CLI を起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EAP_HOME/bin/jboss-cli.sh
$ EAP_HOME/bin/jboss-cli.sh
埋め込みホストコントローラーを起動します。
--std-out=echo
パラメーターを渡すと、標準出力がターミナルに表示されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow embed-host-controller --std-out=echo
embed-host-controller --std-out=echo
希望の操作を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /host=HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME)
/host=HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME)
埋め込みホストコントローラーを停止します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stop-embedded-host-controller
stop-embedded-host-controller
ホストコントローラー設定の指定
デフォルトでは、埋め込みホストコントローラーはドメイン設定に domain.xml
を使用し、ホスト設定には host.xml
を使用します。--domain-config
および --host-config
パラメーターを使用すると、別の設定ファイルを指定できます。
embed-host-controller --domain-config=other-domain.xml --host-config=host-slave.xml
embed-host-controller --domain-config=other-domain.xml --host-config=host-slave.xml
使用する別の設定ファイルによっては、管理 CLI の起動時に特定のプロパティーを設定する必要があることがあります。以下に例を示します。
EAP_HOME/bin/jboss-cli.sh -Djboss.domain.master.address=127.0.0.1
$ EAP_HOME/bin/jboss-cli.sh -Djboss.domain.master.address=127.0.0.1
標準出力の制御
埋め込みサーバーからの標準出力の処理方法を制御することができます。デフォルトでは、標準出力は破棄されますが、ホストコントローラーのログに出力が記録されます。--std-out=echo
を渡すと、ホストコントローラーの出力を管理 CLI の出力と表示できます。
embed-host-controller --std-out=echo
embed-host-controller --std-out=echo
ブートタイムアウト
デフォルトでは embed-host-controller
コマンドは、埋め込みホストコントローラーが完全に起動するまで無期限にブロックされます。--timeout
パラメーターを使用すると待機時間を秒単位で指定できます。1
未満の値の場合、CLI が埋め込みホストコントローラーを管理できる状態になった時点で即座に返されます。
embed-host-controller --timeout=30
embed-host-controller --timeout=30
管理 CLI での非モジュラークラスローティング
EAP_HOME/bin/jboss-cli.sh
スクリプトを使用して管理 CLI を起動すると、モジュラークラスローディング環境が使用されます。EAP_HOME/bin/client/jboss-cli-client.jar
を使用して管理 CLI を非モジュラークラスローティング環境で実行するには、JBoss EAP インストールのルートディレクトリーを指定する必要があります。
管理 CLI を起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow java -jar EAP_HOME/bin/client/jboss-cli-client.jar
$ java -jar EAP_HOME/bin/client/jboss-cli-client.jar
ルートインストールディレクトリーを指定して、埋め込みサーバーを起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow embed-server --jboss-home=/path/to/EAP_HOME
embed-server --jboss-home=/path/to/EAP_HOME
注記ホストコントローラーを埋め込みするには、
embed-host-controller
コマンドを使用します。埋め込みロジックによって、サーバーに適したモジュラークラスローティング環境が設定されます。モジュラークラスローダーのモジュールパスには単一の要素
EAP_HOME/modules
があります。
管理 CLI を起動する方法に関わらず、埋め込みサーバーはモジュラークラスローディング環境で実行されます。