4.4. 使用 Jsvc 配置 JBoss EAP 即服务


JBoss 核心服务集合中的 Apache Jsvc 组件可用于将 JBoss EAP 作为红帽企业 Linux 和 Solaris 上的后台服务运行。

注意

Jsvc 对 JBoss EAP 的支持主要用于在 Microsoft Windows 和 Solaris 上运行 JBoss EAP 作为服务。虽然 Jsvc 在红帽企业 Linux 上工作,但我们强烈建议您使用原生方法在红帽企业 Linux 上运行 JBoss EAP 作为服务。

Jsvc 是一组库和应用程序,允许 Java 应用程序在类似 UNIX 的平台上作为后台服务运行。它允许应用以特权用户身份执行操作,然后将身份切换为非特权用户。

Jsvc 使用三个进程:启动程序进程、控制器进程和受控进程。控制的进程也是主要的 Java 线程。如果 JVM 崩溃,控制器进程将在 60 秒内重启它。Jsvc 是一个守护进程,对于 JBoss EAP,它必须由特权用户启动。

安装 JBoss Core Services Jsvc 软件包

  • 对于 ZIP 或安装程序安装:

    1. 打开浏览器并登录红帽客户门户 JBoss 软件下载页面
    2. Product 下拉菜单中选择 Apache Jsvc
    3. Version 下拉菜单中选择最新版本。
    4. 在列表中选择 Red Hat JBoss Core Services Apache Jsvc,确保您为系统选择正确的平台和架构,然后单击 Download 链接。
    5. 将下载的 ZIP 文件提取到含有 JBoss EAP 安装目录的 目录。

      这将生成与 JBoss EAP 安装 目录相同的深度的 jbcs-jsvc- <VERSION> 目录。例如:

      /var/opt/
      ├── jboss-eap-7.3
      │   ├── bin
      │   └── ...
      └── jbcs-jsvc-<VERSION>
      Copy to Clipboard Toggle word wrap
    6. 使用 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
      Copy to Clipboard Toggle word wrap
  • 对于 Red Hat Enterprise Linux 中的 RPM 安装:

    1. 登录红帽订阅管理器.
    2. 单击 Subscriber 清单中的 Systems
    3. 为您的操作系统版本和架构订阅 JBoss Core Services CDN 仓库:

      1. Red Hat Enterprise Linux 6:

        • jb-coreservices-1-for-rhel-6-server-rpms
      2. Red Hat Enterprise Linux 7 及更新的版本:

        • jb-coreservices-1-for-rhel-7-server-rpms
    4. 以 root 用户身份运行以下命令安装 Jsvc:

      # yum groupinstall jbcs-jsvc
      Copy to Clipboard Toggle word wrap
注意

务必设置 JAVA_HOME 系统环境变量。

使用 Jsvc 启动 JBoss EAP 作为单机服务器

使用以下命令使用 Jsvc 以单机模式启动和停止 JBoss EAP:下表显示了 ZIP/installer JBoss EAP 安装或 RPM 安装命令所需的路径。

Expand
表 4.1. ZIP/Installer 安装的 Jsvc 文件位置 - 单机服务器
指令中的文件参考文件位置

JSVC_BIN

EAP_HOME/../jbcs-jsvc-<VERSION>/sbin/jsvc

JSVC_JAR

EAP_HOME/../jbcs-jsvc-<VERSION>/lib/commons-daemon.jar

CONF_DIR

EAP_HOME/standalone/configuration

LOG_DIR

EAP_HOME/standalone/log

Expand
表 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

使用 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
Copy to Clipboard Toggle word wrap

使用 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
Copy to Clipboard Toggle word wrap

使用 Jsvc 启动 JBoss EAP 受管域

使用以下命令使用 Jsvc 启动和停止 JBoss EAP 受管域。下表显示了 ZIP/installer JBoss EAP 安装或 RPM 安装命令所需的路径。

Expand
表 4.3. ZIP/Installer 安装的 Jsvc 文件位置 - 受管域
指令中的文件参考文件位置

JSVC_BIN

EAP_HOME/../jbcs-jsvc-<VERSION>/sbin/jsvc

JSVC_JAR

EAP_HOME/../jbcs-jsvc-<VERSION>/lib/commons-daemon.jar

CONF_DIR

EAP_HOME/domain/configuration

LOG_DIR

EAP_HOME/domain/log

Expand
表 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

在您发出以下命令之前,务必设置 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 \
&
Copy to Clipboard Toggle word wrap

使用 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
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat