4.4. 用 Jsvc 将 JBoss EAP 配置为服务复制链接链接已复制到粘贴板!
JBoss Core Services Collection 中的 Apache Jsvc 组件可以被用来在 Red Hat Enterprise Linux 和 Solaris 上,以后台服务的形式运行 JBoss EAP。
注意
在 Red Hat Enterprise Linux 上,我们推荐您使用原生方法来将 JBoss EAP 作为服务运行。
Jsvc 是一系列允许 Java 应用程序作为后台服务运行在类 Unix 平台里的库和应用程序。它允许应用程序作为特权用户执行操作,然后将其身份切换到非特权用户。
Jsvc 使用三个进程:launcher、controller 和 controlled 进程。controlled 进程也是主 Java 线程。如果 JVM 崩溃,controller 进程将在 60 秒内重启它。Jsvc 是 JBoss EAP 的守护进程,它只能由特权用户启动。
安装 JBoss Core Services Jsvc 软件包
对于通过 ZIP 或安装程序完成的安装:
打开浏览器并登录客户门户网站:JBoss 软件下载页面。
从 Product 下拉菜单里选择 Apache Jsvc。
从 Version 下拉菜单里选择最新的版本。
在列表里找到 Red Hat JBoss Core Services Apache Jsvc,确保您选择了对应您的系统的正确平台和架构,然后点击 Download 链接。
在包含 JBoss EAP 安装目录的目录里解压下载的 ZIP 文件。
这将导致 jbcs-jsvc-
/var/opt/
├── jboss-eap-7.0
│ ├── bin
│ └── ...
└── jbcs-jsvc-
/var/opt/
├── jboss-eap-7.0
│ ├── bin
│ └── ...
└── jbcs-jsvc-
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
使用 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
# groupadd -f -g 185 -r jboss
# useradd -r -u 185 -g jboss -d EAP_HOME -s /sbin/nologin -c "JBoss" jboss
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
对于 Red Hat Enterprise Linux 上的 RPM 安装:
登录 Red Hat Subscription Manager。
点击 Subscriber Inventory 里的 Systems。
根据您的操作系统版本和架构订阅相应的 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
以根用户运行下列命令来安装 Jsvc:
yum groupinstall jbcs-jsvc
# yum groupinstall jbcs-jsvc
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
注意
确认设置了 JAVA_HOME 系统环境变量。
使用 Jsvc 将 JBoss EAP 作为独立服务器启动
下面的命令用 Jsvc 启动和停止独立模式的 JBoss EAP。下表展示了在 ZIP/安装程序或 RPM 安装模式下命令所需的路径。
Expand表 4.1. ZIP 安装模式下的 Jsvc 文件位置 - 独立服务器模式参考文件说明文件位置
JSVC_BIN
EAP_HOME/../jbcs-jsvc-
JSVC_JAR
EAP_HOME/../jbcs-jsvc-
CONF_DIR
EAP_HOME/standalone/configuration
LOG_DIR
EAP_HOME/standalone/log
Show moreExpand表 4.2. RPM 安装模式下的 Jsvc 文件位置 - 独立服务器模式参考文件说明文件位置
JSVC_BIN
/usr/bin/jbcs-jsvc/jsvc
JSVC_JAR
/usr/bin/jbcs-jsvc/commons-daemon.jar
CONF_DIR
/opt/rh/eap7/root/usr/share/wildfly/standalone/configuration
LOG_DIR
/opt/rh/eap7/root/usr/share/wildfly/standalone/log
Show more
用 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_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
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
用 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_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
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
使用 Jsvc 启动 JBoss EAP 受管域
下面的命令用 Jsvc 启动和停止受管域模式的 JBoss EAP。下表展示了在 ZIP/安装程序或 RPM 安装模式下命令所需的路径。
Expand表 4.3. ZIP 安装模式下的 Jsvc 文件位置 - 受管域模式参考文件说明文件位置
JSVC_BIN
EAP_HOME/../jbcs-jsvc-
JSVC_JAR
EAP_HOME/../jbcs-jsvc-
CONF_DIR
EAP_HOME/domain/configuration
LOG_DIR
EAP_HOME/domain/log
Show moreExpand表 4.4. RPM 安装模式下的 Jsvc 文件位置 - 受管域模式参考文件说明文件位置
JSVC_BIN
/usr/bin/jbcs-jsvc/jsvc
JSVC_JAR
/usr/bin/jbcs-jsvc/commons-daemon.jar
CONF_DIR
/opt/rh/eap7/root/usr/share/wildfly/domain/configuration
LOG_DIR
/opt/rh/eap7/root/usr/share/wildfly/domain/log
Show more
在执行下列命令前,请务必设置环境变量 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_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 \
&
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
用 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
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
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow