第4章 サービスとして実行するよう JBoss EAP を設定
4.1. Red Hat Enterprise Linux で JBoss EAP をサービスとして設定 (ZIP およびインストーラーによるインストール)
Red Hat Enterprise Linux で JBoss EAP をサービスとして設定
jboss-eap.confファイルの起動オプションをカスタマイズします。起動スクリプトと関連する設定ファイルは
EAP_HOME/bin/init.d/ディレクトリーにあります。テキストエディターでjboss-eap.confを開き、JBoss EAP インストールのオプションを設定します。jboss-eap.confファイルには複数のオプションがありますが、最低でもJBOSS_HOMEとJBOSS_USERの正しい値を指定する必要があります。該当する行をアンコメントおよび編集すると、設定ファイルの他のオプションをカスタマイズできます。カスタマイズしないと、デフォルトの動作としてサーバーはデフォルトの設定ファイル
standalone.xmlを使用して、スタンドアロン JBoss EAP サーバーを起動します。注記JBoss EAP を管理対象ドメインとして起動する場合は、
JBOSS_MODE=domainをjboss-eap.confに追加します。カスタムの ドメイン設定ファイル を指定するには、
JBOSS_DOMAIN_CONFIG=DOMAIN_CONFIG_FILE.xmlおよびJBOSS_HOST_CONFIG=HOST_CONFIG_FILE.xmlを追加します。デフォルトでは、JBoss EAP はdomain.xmlおよびhost.xmlをドメイン設定ファイルとして使用します。サービスファイルをシステムディレクトリーにコピーします。
変更したサービス設定ファイルを
/etc/defaultディレクトリーにコピーします。$ sudo cp EAP_HOME/bin/init.d/jboss-eap.conf /etc/defaultサービス起動スクリプトを
/etc/init.dディレクトリーにコピーし、実行パーミッションを付与します。$ sudo cp EAP_HOME/bin/init.d/jboss-eap-rhel.sh /etc/init.d $ sudo chmod +x /etc/init.d/jboss-eap-rhel.sh
chkconfigサービス管理コマンドを使用して、自動的に起動されるサービスのリストに新しいjboss-eap-rhel.shサービスを追加します。$ sudo chkconfig --add jboss-eap-rhel.sh
以下のコマンドの 1 つを使用して、サービスが正しくインストールされたことをテストします。
Red Hat Enterprise Linux 6 の場合
$ sudo service jboss-eap-rhel.sh start
Red Hat Enterprise Linux 7 の場合
$ sudo service jboss-eap-rhel start
サービスが起動します。エラーが発生した場合はエラーログを確認し、設定ファイルのオプションが正しく設定されていることを確認してください。
Red Hat Enterprise Linux サーバーの起動時にサービスが自動的に起動するようにするには、以下のコマンドを実行します。
$ sudo chkconfig jboss-eap-rhel.sh on
JBoss EAP サービスを削除する場合は、以下の手順に従います。
Red Hat Enterprise Linux での JBoss EAP サービスの削除
サービスが実行中である場合は、ターミナルを開き、以下のコマンドの 1 つを使用してサービスを停止します。
Red Hat Enterprise Linux 6 の場合
$ sudo service jboss-eap-rhel.sh stop
Red Hat Enterprise Linux 7 の場合
$ sudo service jboss-eap-rhel stop
サービスのリストから JBoss EAP を削除します。
$ sudo chkconfig --del jboss-eap-rhel.sh
サービス設定ファイルと起動スクリプトを削除します。
$ sudo rm /etc/init.d/jboss-eap-rhel.sh $ sudo rm /etc/default/jboss-eap.conf
4.2. Red Hat Enterprise Linux で JBoss EAP をサービスとして設定 (RPM インストール)
要件
- JBoss EAP を RPM インストールとしてインストールします。
- サーバーの管理者特権。
単一のマシン上に複数の JBoss EAP インスタンスをシステムサービスとして設定することはサポートされません。
JBoss EAP の RPM インストールは、JBoss EAP をサービスとして実行するために必要なものをすべてインストールします。以下のコマンドの 1 つを実行して、システム起動時に自動的に開始するよう JBoss EAP サービスをアクティブ化します。
以下のコマンドでは、EAP_SERVICE_NAME を eap7-standalone (スタンドアロン JBoss EAP サーバーの場合) または eap7-domain (管理対象ドメインの場合) に置き換えます。
Red Hat Enterprise Linux 6 の場合
chkconfig EAP_SERVICE_NAME onRed Hat Enterprise Linux 7 の場合
systemctl enable EAP_SERVICE_NAME.service
要求に応じて JBoss EAP の RPM インストールを開始または停止するには、JBoss EAP『設定ガイド』の RPM の手順に関する情報 を参照してください。
詳細やオプションについては、JBoss EAP『設定ガイド』の付録に記載されている「RPM サービス設定ファイル」を参照してください。
4.3. Microsoft Windows Server で JBoss EAP をサービスとして設定
要件
set コマンドを使用して Windows Server コマンドプロンプトでシステム環境変数を設定すると、環境変数は永続的に設定されません。setx コマンドを使用するか、コントロールパネルのシステムインターフェースを使用する必要があります。
Microsoft Windows Server で JBoss EAP をサービスとして設定
以下の 2 つのシステム環境変数を作成します。
-
JBoss EAP インストールディレクトリーを示す
JBOSS_HOME -
NOPAUSE=1
-
JBoss EAP インストールディレクトリーを示す
JBoss Core Services Jsvc パッケージのインストール
設定されていない場合は、JBoss Core Services Jsvc パッケージをダウンロードし、展開します。
- ブラウザーを開き、Red Hat カスタマーポータルで JBoss の Software Downloads ページにログインします。
- Product ドロップダウンメニューから Apache Jsvc を選択します。
- Version ドロップダウンメニューで最新のバージョンを選択します。
- システムのプラットフォームとアーキテクチャーに対応する Red Hat JBoss Core Services Apache Jsvc を見つけ、Download リンクをクリックします。
JBoss EAP インストールディレクトリーが含まれるディレクトリーでダウンロードした ZIP ファイルを展開します。
展開すると、JBoss EAP インストールディレクトリーと同じ階層に
jbcs-jsvc-<VERSION>ディレクトリーが作成されます。例を以下に示します。C:\Program Files ├── jboss-eap-7.1 │ ├── bin │ └── ... └── jbcs-jsvc-<VERSION>
サービスのインストール
ターミナルを開き、
EAP_HOME\binディレクトリーに移動します。以下は、スタンドアロンサーバーまたは管理対象ドメインのサーバーに新しいサービスを作成する基本的な
service.bat installコマンドの例になります。可能なオプションをすべて表示するには、引数を指定せずにservice.batを実行します。重要/jbossuserおよび/jbosspassパラメーターを指定する場合は、JBoss EAP ユーザーのパスワードにハッシュ (#) またはセミコロン (;) が含まれないようにする必要があります。以下のコマンドを実行します。サービスのログレベルは必要に応じて変更してください。
スタンドアロンサーバーの場合:
service.bat install /loglevel INFO
管理対象ドメインのサーバーの場合
/hostパラメーターを使用して、サービスによって制御されている JBoss EAP ホストコントローラーの名前を指定します。管理 CLI でls /hostを実行すると、名前の有効な値を表示できます。以下のコマンドの
EAP_HOST_NAMEは JBoss EAP ホストコントローラー名に置き換えてください。JBoss EAP のホストコントローラー名を提供せずに/hostパラメーターを指定すると、デフォルトでmasterが名前として使用されます。service.bat install /host EAP_HOST_NAME /loglevel INFO
JBossEAP7という名前の新しい Windows サービスが作成されます。Servicesコンソールでの新規サービスの検証Windows の Services コンソール (
services.msc) を開き、サービスが作成されたことを確認します。デフォルトのサービス名が使用された場合は、Windows サービスのリストに新しいサービスの名前
JBoss EAP7が表示されます。サービスコンソールからサービスを起動および停止でき、さらにサービスの起動方法および起動時に関する設定を変更できます。ターミナルから JBoss EAP サービスを起動および停止
ターミナルからサービスを起動するには、以下のコマンドを使用します (必要な場合は、サービス名を変更します)。
net start JBossEAP7
ターミナルからサービスを停止するには、以下のコマンドを使用します (必要な場合は、サービス名を変更します)。
net stop JBossEAP7
JBoss EAP サービスを削除する場合は、以下の手順に従います。
Microsoft Windows Server の JBoss EAP サービスの削除
サービスが実行中の場合は、最初にターミナルを開き、
net stopコマンドをサービスの名前で実行してサービスを停止します。net stop JBossEAP7
ターミナルで、
EAP_HOME\binディレクトリーに移動し、以下のコマンドを実行します。service.bat uninstall
4.4. Jsvc を使用して JBoss EAP をサービスとして設定
JBoss Core Services コレクションの Apache Jsvc コンポーネントを使用すると、Red Hat Enterprise Linux および Solaris で JBoss EAP をバックグラウンドサービスとして実行できます。
JBoss EAP の Jsvc サポートは、主に Microsoft Windows および Solaris 上で JBoss EAP をサービスとして実行することが目的です。Jsvc は Red Hat Enterprise Linux 上で動作しますが、Red Hat Enterprise Linux で JBoss EAP をサービスとして実行するには ネイティブメソッド の使用が強く推奨されます。
Jsvc は、Java アプリケーションをバックグラウンドサービスとして UNIX 系プラットフォーム上で実行できるようにするライブラリーとアプリケーションのセットです。これにより、アプリケーションは特権ユーザーとして操作を実行でき、実行後に非特権ユーザーに切り替えできます。
Jsvc はランチャープロセス、コントローラープロセス、および制御されたプロセスの 3 つのプロセスを使用します。制御されたプロセスはメインの Java スレッドでもあります。JVM がクラッシュすると、コントローラープロセスが 60 秒以内に JVM を再起動します。Jsvc はデーモンプロセスで、JBoss EAP 7 では特権ユーザーによって起動される必要があります。
JBoss Core Services Jsvc パッケージのインストール
ZIP またはインストーラーによるインストールの場合
- ブラウザーを開き、Red Hat カスタマーポータルで JBoss の Software Downloads ページにログインします。
- Product ドロップダウンメニューから Apache Jsvc を選択します。
- Version ドロップダウンメニューで最新のバージョンを選択します。
- システムのプラットフォームとアーキテクチャーに対応する Red Hat JBoss Core Services Apache Jsvc を見つけ、Download リンクをクリックします。
JBoss EAP インストールディレクトリーが含まれるディレクトリーでダウンロードした ZIP ファイルを展開します。
展開すると、JBoss EAP インストールディレクトリーと同じ階層に
jbcs-jsvc-<VERSION>ディレクトリーが作成されます。例を以下に示します。/var/opt/ ├── jboss-eap-7.1 │ ├── bin │ └── ... └── jbcs-jsvc-<VERSION>Jsvc を使用して JBoss EAP を起動するコマンドの例では、
jbossユーザーがすでに作成されていることを仮定します。JBoss EAP のユーザーを作成していない場合は、以下のコマンドを実行し、jbossユーザーおよびグループを作成します。# groupadd -f -g 185 -r jboss # useradd -r -u 185 -g jboss -d EAP_HOME -s /sbin/nologin -c "JBoss" jboss
Red Hat Enterprise Linux での RPM インストールの場合
- Red Hat サブスクリプション管理にログインします。
- システムをクリックします。
ご使用のオペレーティングシステムバージョンとアーキテクチャーの JBoss Core Services CDN リポジトリーにサブスクライブします。
Red Hat Enterprise Linux 6 の場合
- jb-coreservices-1-for-rhel-6-server-rpms
Red Hat Enterprise Linux 7 の場合
- jb-coreservices-1-for-rhel-7-server-rpms
root ユーザーで以下のコマンドを実行し、Jsvc をインストールします。
# yum groupinstall jbcs-jsvc
必ず JAVA_HOME システム環境変数を設定してください。
Jsvc を使用して JBoss EAP をスタンドアロンサーバーとして起動
以下のコマンドは、Jsvc を使用してスタンドアロンモードの JBoss EAP を起動および停止するために使用されます。以下の表には、ZIP/インストーラー JBoss EAP インストールまたは RPM インストールのコマンドに必要なパスが示されています。
表4.1 ZIP/Installer インストールの Jsvc ファイルの場所 - スタンドアロンサーバー
| 手順のファイル参照 | ファイルの場所 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
表4.2 RPM インストールの Jsvc ファイルの場所 - スタンドアロンサーバー
| 手順のファイル参照 | ファイルの場所 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Jsvc を使用してスタンドアロン JBoss EAP サーバーを起動します。
$ JSVC_BIN \ -outfile LOG_DIR/jsvc.out.log \ -errfile LOG_DIR/jsvc.err.log \ -pidfile LOG_DIR/jsvc.pid \ -user jboss \ -D[Standalone] -XX:+UseCompressedOops -Xms1303m \ -Xmx1303m -XX:MaxPermSize=256m \ -Djava.net.preferIPv4Stack=true \ -Djboss.modules.system.pkgs=org.jboss.byteman \ -Djava.awt.headless=true \ -Dorg.jboss.boot.log.file=LOG_DIR/server.log \ -Dlogging.configuration=file:CONF_DIR/logging.properties \ -Djboss.modules.policy-permissions \ -cp EAP_HOME/jboss-modules.jar:JSVC_JAR \ -Djboss.home.dir=EAP_HOME \ -Djboss.server.base.dir=EAP_HOME/standalone \ @org.jboss.modules.Main -start-method main \ -mp EAP_HOME/modules \ -jaxpmodule javax.xml.jaxp-provider \ org.jboss.as.standalone
Jsvc を使用してスタンドアロン JBoss EAP サーバーを停止します。
$ JSVC_BIN \ -stop \ -outfile LOG_DIR/jsvc.out.log \ -errfile LOG_DIR/jsvc.err.log \ -pidfile LOG_DIR/jsvc.pid \ -user jboss \ -D[Standalone] -XX:+UseCompressedOops -Xms1303m \ -Xmx1303m -XX:MaxPermSize=256m \ -Djava.net.preferIPv4Stack=true \ -Djboss.modules.system.pkgs=org.jboss.byteman \ -Djava.awt.headless=true \ -Dorg.jboss.boot.log.file=LOG_DIR/server.log \ -Dlogging.configuration=file:CONF_DIR/logging.properties \ -Djboss.modules.policy-permissions \ -cp EAP_HOME/jboss-modules.jar:JSVC_JAR \ -Djboss.home.dir=EAP_HOME \ -Djboss.server.base.dir=EAP_HOME/standalone \ @org.jboss.modules.Main -start-method main \ -mp EAP_HOME/modules \ -jaxpmodule javax.xml.jaxp-provider \ org.jboss.as.standalone
Jsvc を使用した JBoss EAP 管理対象ドメインの起動
以下のコマンドは、Jsvc を使用して JBoss EAP 管理対象ドメインを起動および停止するために使用されます。以下の表には、ZIP/インストーラー JBoss EAP インストールまたは RPM インストールのコマンドに必要なパスが示されています。
表4.3 ZIP/Installer インストールの Jsvc ファイルの場所 - 管理対象ドメイン
| 手順のファイル参照 | ファイルの場所 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
表4.4 RPM インストールの Jsvc ファイルの場所 - 管理対象ドメイン
| 手順のファイル参照 | ファイルの場所 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
以下のコマンドを実行する前に、JAVA_HOME システム環境変数を設定してください。
Jsvc を使用して JBoss EAP 管理対象ドメインを起動します。
$ JSVC_BIN \ -outfile LOG_DIR/jsvc.out.log \ -errfile LOG_DIR/jsvc.err.log \ -pidfile LOG_DIR/jsvc.pid \ -user jboss \ -nodetach -D"[Process Controller]" -server -Xms64m \ -Xmx512m -XX:MaxPermSize=256m \ -Djava.net.preferIPv4Stack=true \ -Djboss.modules.system.pkgs=org.jboss.byteman \ -Djava.awt.headless=true \ -Dorg.jboss.boot.log.file=LOG_DIR/process-controller.log \ -Dlogging.configuration=file:CONF_DIR/logging.properties \ -Djboss.modules.policy-permissions \ -cp "EAP_HOME/jboss-modules.jar:JSVC_JAR" \ org.apache.commons.daemon.support.DaemonWrapper \ -start org.jboss.modules.Main -start-method main \ -mp EAP_HOME/modules org.jboss.as.process-controller \ -jboss-home EAP_HOME -jvm "${JAVA_HOME}"/bin/java \ -mp EAP_HOME/modules -- \ -Dorg.jboss.boot.log.file=LOG_DIR/host-controller.log \ -Dlogging.configuration=file:CONF_DIR/logging.properties \ -Djboss.modules.policy-permissions \ -server -Xms64m -Xmx512m -XX:MaxPermSize=256m \ -Djava.net.preferIPv4Stack=true \ -Djboss.modules.system.pkgs=org.jboss.byteman \ -Djava.awt.headless=true -- -default-jvm "${JAVA_HOME}"/bin/java \ &
Jsvc を使用して JBoss EAP 管理対象ドメインを停止します。
$ JSVC_BIN \ -stop \ -outfile LOG_DIR/jsvc.out.log \ -errfile LOG_DIR/jsvc.err.log \ -pidfile LOG_DIR/jsvc.pid \ -user jboss \ -nodetach -D"[Process Controller]" -server -Xms64m \ -Xmx512m -XX:MaxPermSize=256m \ -Djava.net.preferIPv4Stack=true \ -Djboss.modules.system.pkgs=org.jboss.byteman \ -Djava.awt.headless=true \ -Dorg.jboss.boot.log.file=LOG_DIR/process-controller.log \ -Dlogging.configuration=file:CONF_DIR/logging.properties \ -Djboss.modules.policy-permissions \ -cp "EAP_HOME/jboss-modules.jar:JSVC_JAR" \ org.apache.commons.daemon.support.DaemonWrapper \ -start org.jboss.modules.Main -start-method main \ -mp EAP_HOME/modules org.jboss.as.process-controller \ -jboss-home EAP_HOME -jvm $JAVA_HOME/bin/java \ -mp EAP_HOME/modules -- \ -Dorg.jboss.boot.log.file=LOG_DIR/host-controller.log \ -Dlogging.configuration=file:CONF_DIR/logging.properties \ -Djboss.modules.policy-permissions \ -server -Xms64m -Xmx512m -XX:MaxPermSize=256m \ -Djava.net.preferIPv4Stack=true \ -Djboss.modules.system.pkgs=org.jboss.byteman \ -Djava.awt.headless=true -- -default-jvm $JAVA_HOME/bin/java

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.