第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=domain
tojboss-eap.conf
.To specify custom domain configuration files, add
JBOSS_DOMAIN_CONFIG=DOMAIN_CONFIG_FILE.xml
andJBOSS_HOST_CONFIG=HOST_CONFIG_FILE.xml
. By default, JBoss EAP usesdomain.xml
andhost.xml
as 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
/host
parameter 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 /host
in the management CLI.Replace
EAP_HOST_NAME
in the command below with your JBoss EAP host controller name. If you specify the/host
parameter 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 インストールのコマンドに必要なパスが示されています。
手順のファイル参照 | ファイルの場所 |
---|---|
|
|
|
|
|
|
|
|
手順のファイル参照 | ファイルの場所 |
---|---|
|
|
|
|
|
|
|
|
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 インストールのコマンドに必要なパスが示されています。
手順のファイル参照 | ファイルの場所 |
---|---|
|
|
|
|
|
|
|
|
手順のファイル参照 | ファイルの場所 |
---|---|
|
|
|
|
|
|
|
|
以下のコマンドを実行する前に、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