第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
の正しい値を指定する必要があります。設定ファイルの他のオプションをカスタマイズすることもできますが、カスタマイズしないと、デフォルトの設定ファイルを使用するスタンドアロン JBoss EAP サーバーが起動されます。
注記サービスがドメインモードで JBoss EAP を起動するようにするには、
JBOSS_MODE=domain
をjboss-eap.conf
に追加します。サービスファイルをシステムディレクトリーにコピーします。
変更したサービス設定ファイルを
/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 サービスをアクティブ化します。
スタンドアロンサーバーの場合:
chkconfig eap7-standalone on
管理対象ドメインの場合:
chkconfig eap7-domain on
必要時に JBoss EAP のRPM インストールを開始または停止する場合は、JBoss EAP Configuration Guide の RPM instructions を参照してください。
詳細とオプションについては、JBoss EAP Configuration Guide の RPM service configuration files appendix を参照してください。
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
管理対象ドメインのサーバーの場合
デフォルトマスターを JBoss EAP ドメインコントローラーとして使用していない場合は、master を JBoss EAP ドメインコントローラーの正しいホスト名またはエイリアスに置き換えてください。
service.bat install /host master /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 をサービスとして設定
Jsvc の JBoss Core Services パッケージを使用すると Red Hat Enterprise Linux および Solaris で JBoss EAP をバックグラウンドサービスとして実行できます。
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
表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
表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
Comments