9.2.2 サーバテンプレートを使用してWebサーバの設定を変更する
Webサーバで標準プロパティー以外の設定値を変更するには、サーバテンプレートを使用します。サーバテンプレートには、Webサーバの運用に必要な設定を記述しています。Webサーバの設定を変更する場合は、拡張プロパティーを設定するか、またはディレクティブをサーバテンプレートに直接記述するかのどちらかを実施します。サーバテンプレートを編集する場合は、拡張プロパティーを設定する方法をお勧めします。
前提条件
-
ドメイン管理サーバが起動している
-
Application Serverのセットアップが完了している
想定ユーザー
- システム構築者
サーバテンプレートの格納先とファイル名
サーバテンプレートのファイル名を次に示します。
-
httpsd.conf@windows.vtl
Webサーバの基本設定用サーバテンプレートです。リクエスト転送と負荷分散以外の基本設定を記述します。
-
reverse_proxy.conf@.vtl
Webサーバのリクエスト転送設定用サーバテンプレートです。リクエスト転送先サーバインスタンスがクラスター構成でない場合に、設定を記述します。
-
proxy_balancer.conf@.vtl
Webサーバの負荷分散設定用サーバテンプレートです。リクエスト転送先サーバインスタンスがクラスター構成の場合に、設定を記述します。
初回のドメイン起動時、サーバテンプレートの各ファイルは、Application Serverのインストールディレクトリー/javaee/glassfish/domains/ドメイン名/server_templates/webserver/confに展開されます。
サーバテンプレートの編集方法
サーバテンプレートは、次の方法で編集できます。
-
拡張プロパティーを設定するために、VTL構文を記述する
サーバテンプレートにVTL構文を記述し、asadminユーティリティーコマンドのsetサブコマンドの拡張プロパティーの値を操作することで、Webサーバを設定します。
-
ディレクティブを直接記述する
サーバテンプレートにディレクティブを直接記述することで、Webサーバを設定します。
拡張プロパティーを設定するために、VTL構文を記述すると、asadminユーティリティーコマンドのsetサブコマンドでWebサーバの設定を変更し、getサブコマンドで変更内容を確認できるようになります。
サーバテンプレートは、asadminユーティリティーコマンドのcreate-webserverサブコマンド、およびstart-webserverサブコマンド実行時にドメイン管理サーバによって読み込まれ、Webサーバが読み込む定義ファイルに設定が反映されます。
操作手順
-
ハードウェアロードバランサーを使用している場合は、ハードウェアロードバランサーを閉塞します。
閉塞の方法は、使用しているハードウェアロードバランサーのマニュアルを参照してください。
パフォーマンストレーサー、サーバインスタンス、およびWebサーバが停止していない場合は、手順2に進んでください。
パフォーマンストレーサー、サーバインスタンス、およびWebサーバがすでに停止している場合は、手順1〜手順5を省略してください。
-
asadminユーティリティーコマンドのstop-serversサブコマンドを実行して、パフォーマンストレーサー、サーバインスタンス、およびWebサーバを一括停止します。
asadmin stop-servers
コマンドの実行結果を次に示します。
Command stop-servers executed successfully.
-
asadminユーティリティーコマンドのlist-prfsサブコマンドを実行して、パフォーマンストレーサーの一覧を表示します。
asadmin list-prfs
コマンドの実行結果を次に示します。パフォーマンストレーサーのステータスがnot runningになっていることを確認してください。
パフォーマンストレーサー名 not running Command list-prfs executed successfully.
-
asadminユーティリティーコマンドのlist-instancesサブコマンドに--longオプションを指定して実行し、サーバインスタンスの一覧を表示します。
asadmin list-instances --long=true
コマンドの実行結果を次に示します。サーバインスタンスのステータスがnot runningになっていることを確認してください。
サーバインスタンス名 ホスト名 ポート番号 プロセスID クラスター名 not running Command list-instances executed successfully.
-
クラスター名は、複数のJava EEサーバを配置するクラスター構成の場合だけ表示されます。
-
-
asadminユーティリティーコマンドのlist-webserversサブコマンドを実行して、Webサーバの一覧を表示します。
asadmin list-webservers
コマンドの実行結果を次に示します。Webサーバのステータスがnot runningになっていることを確認してください。
Webサーバ名 not running Command list-webservers executed successfully.
-
拡張プロパティーを設定するために、VTL構文を記述する場合は、次の手順で設定します。
reverse_proxy.confにProxyPreserveHostディレクティブを設定する例で、手順を説明します。
-
テキストエディターなどを利用して、サーバテンプレートのファイル(reverse_proxy.conf@.vtl)を開いて、拡張プロパティーのVTL構文を記述します。
拡張プロパティーは、接頭辞にex_を付加した名称で設定します。
ProxyPreserveHostディレクティブの場合、拡張プロパティーはex_ProxyPreserveHost.valueで設定します。
ProxyPreserveHost ${property.ex_ProxyPreserveHost.value}
-
サーバテンプレートのファイルを保存します。
-
asadminユーティリティーコマンドのsetサブコマンドを実行して、Webサーバのコンフィグに対して、拡張プロパティー ex_ProxyPreserveHost.valueの値にOn を設定します。
asadmin set hitachi-webservers.hitachi-webserver.Webサーバ名.property.ex_ProxyPreserveHost= On
コマンドの実行結果を次に示します。
hitachi-webservers.hitachi-webserver.Webサーバ名.property.ex_ProxyPreserveHost=On Command set executed successfully.
-
asadminユーティリティーコマンドのgetサブコマンドを実行して、拡張プロパティー ex_ProxyPreserveHost.valueの値が設定したとおりになっているかを確認します。
asadmin get hitachi-webservers.hitachi-webserver.Webサーバ名.property.ex_ProxyPreserveHost
コマンドの実行結果を次に示します。
hitachi-webservers.hitachi-webserver.Webサーバ名.property.ex_ProxyPreserveHost=On Command get executed successfully.
-
-
ディレクティブを直接記述する場合は、次の手順で直接記述します。
-
テキストエディターなどを利用して、サーバテンプレートのファイルを開いて、Web Serverのディレクティブを直接記述します。
ディレクティブをコメントとする場合は、先頭の#の直後に半角スペースを入れて記述します。
-
サーバテンプレートのファイルを保存します。
ここで変更作業を完了する場合は、手順8に進んでください。
次の環境定義を変更する場合は、Application Serverを一括起動しないで、それぞれの環境定義を実施してください。
Application Serverの設定
JavaVMオプション
asadminユーティリティーコマンドのプロセスに適用する環境変数
-
-
asadminユーティリティーコマンドのstart-serversサブコマンドを実行して、Application Serverを一括で起動します。
asadmin start-servers
コマンドの実行結果を次に示します。
Command start-servers executed successfully.
-
asadminユーティリティーコマンドのlist-prfsサブコマンドを実行して、パフォーマンストレーサーの一覧を表示します。
asadmin list-prfs
コマンドの実行結果を次に示します。パフォーマンストレーサーのステータスがrunningになっていることを確認してください。
パフォーマンストレーサー名 running Command list-prfs executed successfully.
-
asadminユーティリティーコマンドのlist-instancesサブコマンドに--longオプションを指定して実行し、サーバインスタンスの一覧を表示します。
asadmin list-instances --long=true
コマンドの実行結果を次に示します。サーバインスタンスのステータスがrunningになっていることを確認してください。
サーバインスタンス名 ホスト名 ポート番号 プロセスID クラスター名 running Command list-instances executed successfully.
-
クラスター名は、複数のJava EEサーバを配置するクラスター構成の場合だけ表示されます。
-
サーバインスタンスの起動に成功したかどうかは、Java EEサーバ(サーバインスタンス)のメッセージログにKDKD20031-Iが出力されているかどうか、またはAdministration ConsoleのJava EEサーバ(サーバインスタンス)のステータスでも確認できます。
-
-
asadminユーティリティーコマンドのlist-webserversサブコマンドを実行して、Webサーバの一覧を表示します。
asadmin list-webservers
コマンドの実行結果を次に示します。Webサーバのステータスがrunningになっていることを確認してください。
Webサーバ名 running Command list-webservers executed successfully.
-
ハードウェアロードバランサーを使用している場合は、ハードウェアロードバランサーの閉塞を解除します。
閉塞を解除する方法は、使用しているハードウェアロードバランサーのマニュアルを参照してください。