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.2 │ ├── 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