Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
第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の正しい値を指定する必要があります。You can customize the other options provided in the configuration file by uncommenting and editing the respective lines. If you do not, the service will default to starting a standalone JBoss EAP server using the default configuration file,
standalone.xml.注記If you want the service to start JBoss EAP as a managed domain, add
JBOSS_MODE=domaintojboss-eap.conf.To specify custom domain configuration files, add
JBOSS_DOMAIN_CONFIG=DOMAIN_CONFIG_FILE.xmlandJBOSS_HOST_CONFIG=HOST_CONFIG_FILE.xml. By default, JBoss EAP usesdomain.xmlandhost.xmlas the domain configuration files.サービスファイルをシステムディレクトリーにコピーします。
変更したサービス設定ファイルを
/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 の RPM インストールは、JBoss EAP をサービスとして実行するために必要なものをすべてインストールします。以下のコマンドの 1 つを実行して、システム起動時に自動的に開始するよう JBoss EAP サービスをアクティブ化します。
For the commands below, replace EAP_SERVICE_NAME with either eap7-standalone for a standalone JBoss EAP server, or eap7-domain for a managed domain.
Red Hat Enterprise Linux 6 の場合
chkconfig EAP_SERVICE_NAME on
Red Hat Enterprise Linux 7 の場合
systemctl enable EAP_SERVICE_NAME.service
To start or stop an RPM installation of JBoss EAP on demand, see the RPM instructions in the JBoss EAP Configuration Guide.
See the RPM service configuration files appendix in the JBoss EAP Configuration Guide for further details and options.
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.0 │ ├── bin │ └── ... └── jbcs-jsvc-<VERSION>
サービスのインストール
ターミナルを開き、
EAP_HOME\binディレクトリーに移動します。以下は、スタンドアロンサーバーまたは管理対象ドメインのサーバーに新しいサービスを作成する基本的な
service.bat installコマンドの例になります。可能なオプションをすべて表示するには、引数を指定せずにservice.batを実行します。以下のコマンドを実行します。サービスのログレベルは必要に応じて変更してください。
スタンドアロンサーバーの場合:
service.bat install /loglevel INFO
管理対象ドメインのサーバーの場合
Use the
/hostparameter to specify the name of the JBoss EAP host controller being controlled by the service. You can see valid values for the name by executingls /hostin the management CLI.Replace
EAP_HOST_NAMEin the command below with your JBoss EAP host controller name. If you specify the/hostparameter without providing a JBoss EAP host controller name, the name defaults tomaster.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 をサービスとして設定
The Apache Jsvc component of the JBoss Core Services collection can be used to run JBoss EAP as a background service on Red Hat Enterprise Linux and Solaris.
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.0 │ ├── 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 サブスクリプションマネージャーにログインします。
- Subscriber Inventory のシステムをクリックします。
ご使用のオペレーティングシステムバージョンとアーキテクチャーの 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