Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

Capítulo 4. Configuración de JBoss EAP para ejecutar como un servicio

4.1. Configuración de JBoss EAP como un servicio en Red Hat Enterprise Linux (instalaciones ZIP y del Instalador).

Prerrequisitos

  • Instale JBoss EAP como una instalación ZIP o Instalador.
  • Privilegios de administrador en el servidor.

Configuración de JBoss EAP como un servicio en Red Hat Enterprise Linux

  1. Personalice las opciones de arranque en el archivo jboss-eap.conf.

    El script de arranque y un archivo de configuración asociado se localizan en el directorio EAP_HOME/bin/init.d/. Abra jboss-eap.conf en un editor de texto y establezca las opciones para su instalación de JBoss EAP.

    Hay varias opciones dentro del archivo jboss-eap.conf. Como mínimo, especifique los valores correctos para las variables JBOSS_HOME y JBOSS_USER.

    Puede personalizar las otras opciones provistas en el archivo de configuración descomentando y editando las líneas respectivas. Pero si no, se predeterminará a iniciará un JBoss EAP autónomo mediante el archivo de configuración predeterminado, standalone.xml.

    Nota

    Si desea que el servicio inicie JBoss EAP en modo de dominio, agregue JBOSS_MODE=domain to jboss-eap.conf.

    Para especificar archivos de configuración de dominio personalizados, agregue JBOSS_DOMAIN_CONFIG=DOMAIN_CONFIG_FILE.xml y JBOSS_DOMAIN_CONFIG=DOMAIN_CONFIG_FILE.xml. De forma predeterminada, JBoss EAP utiliza domain.xml y host.xml como archivos de configuración de dominio.

  2. Copie los archivos de servicio en los directorios del sistema

    1. Copie el archivo de configuración de servicio modificado en el directorio /etc/default .

      sudo cp EAP_HOME/bin/init.d/jboss-eap.conf /etc/default
    2. Copie el script de arranque en el directorio /etc/init.d y otórguele permisos de ejecución:

      sudo cp EAP_HOME/bin/init.d/jboss-eap-rhel.sh /etc/init.d
      sudo chmod +x /etc/init.d/jboss-eap-rhel.sh
  3. Agregue el nuevo servicio jboss-eap-rhel.sh a la lista de servicios iniciados automáticamente, mediante el comando de administración del servicio chkconfig.

    sudo chkconfig --add jboss-eap-rhel.sh
  4. Utilice uno de los siguientes comandos para probar si el servicio ha sido instalado correctamente.

    1. Para Red Hat Enterprise Linux 6:

      sudo service jboss-eap-rhel.sh start
    2. Para Red Hat Enterprise Linux 7:

      sudo service jboss-eap-rhel start

    El servicio iniciará. Si obtiene un error, revise los registros de errores y asegúrese de que las opciones en el archivo de configuración estén correctas.

  5. Para que el servicio inicie automáticamente cuando el servidor de Red Hat Enterprise Linux inicie, ejecute el siguiente comando:

    sudo chkconfig jboss-eap-rhel.sh on

Si desea retirar el servicio JBoss EAP, use el siguiente procedimiento.

Borre la instalación del servicio JBoss EAP de Red Hat Enterprise Linux

  1. Si el servicio está ejecutándose, abra una terminal y detenga el servicio con uno de los siguientes comandos:

    1. Para Red Hat Enterprise Linux 6:

      sudo service jboss-eap-rhel.sh stop
    2. Para Red Hat Enterprise Linux 7:

      sudo service jboss-eap-rhel stop
  2. Borre JBoss EAP de la lista de servicios:

    sudo chkconfig --del jboss-eap-rhel.sh
  3. Borre el archivo de configuración e inicie el script:

    sudo rm /etc/init.d/jboss-eap-rhel.sh
    sudo rm /etc/default/jboss-eap.conf

4.2. Configuración de JBoss EAP como un servicio en Red Hat Enterprise Linux (instalación RPM)

Prerrequisitos

  • Instale JBoss EAP como una instalación RPM.
  • Privilegios de administrador en el servidor.

Una instalación RPM deJBoss EAP instala todo lo que se requiere para ejecutar JBoss EAP como un servicio. Use uno de los siguientes comandos para activar el servicio de forma automática en el arranque del sistema.

Para los comandos que aparecen abajo, remplace EAP_SERVICE_NAME ya sea con eap7-standalone para un servidor autónomo de JBoss EAP o eap7-domain par un dominio administrado.

  • Para Red Hat Enterprise Linux 6:

    chkconfig EAP_SERVICE_NAME on
  • Para Red Hat Enterprise Linux 7:

    systemctl enable EAP_SERVICE_NAME.service

Para iniciar o detener una instalación RPM de JBoss EAP a petición, consulte las Instrucciones RPM en la Guía de configuración JBoss EAP.

Nota

Consulte el Apéndice de configuración de servicios RPM en la Guía de configuración para obtener más información y opciones.

4.3. Configurar JBoss EAP como un servicio en el servidor de Microsoft Windows

Prerrequisitos

  • Instale JBoss EAP como una instalación ZIP o Instalador.
  • Privilegios de administrador en el servidor.
  • Defina la variable de entorno del sistema JAVA_HOME.
  • La instancia del servidor JBoss EAP no debe estar ejecutándose.
Importante

Al configurar las variables de entorno del sistema utilizando el comandoset en una línea de comandos del Windows Server no establecerá de forma permanente la variable de entorno. Debe utilizar el comando setx o la interfaz System en el Panel de control.

Configurar JBoss EAP como un servicio en el servidor de Microsoft Windows

  1. Crear dos variables de entorno del sistema:

    • JBOSS_HOME apuntando al directorio de instalación JBoss EAP.
    • NOPAUSE=1
  2. Instale el paquete Jsvc de JBoss Core Services

    Si no está aún configurado, descargue y extraiga el paquete Jsvc JBoss Core Services

    1. Abra un navegador e inicie sesión en el Portal del cliente de Red Hat en la Página de descargas de software JBoss.
    2. Seleccione Apache Jsvc en el menú desplegable de Producto.
    3. Seleccione la versión más reciente en el menú desplegable Versión.
    4. Busque Red Hat JBoss Core Services Apache Jsvc en la lista, asegurándose de seleccionar la plataforma y la arquitectura correctas para su sistema, luego haga clic en el enlace Descargar.
    5. Extraiga el archivo ZIP descargado en el directorio que contiene su directorio de instalación JBoss EAP.

      Como resultante tendrá el directorio jbcs-jsvc-<VERSION> en la misma profundidad que el directorio de instalación de JBoss EAP. Por ejemplo:

      C:\Program Files
      ├── jboss-eap-7.0
      │   ├── bin
      │   └── ...
      └── jbcs-jsvc-<VERSION>
  3. Instale el servicio

    Abra una terminal y cambie de directorio a EAP_HOME\bin.

    Abajo verá los ejemplos de un comando básico service.bat installpara crear un nuevo servicio para un servidor autónomo o un servidor en un dominio administrado. Para obtener una lista de todas las opciones posibles, ejecute service.bat sin ningún argumento.

    Ejecute el siguiente comando, ajustando el nivel de registro para el servicio como se requiera:

    1. Para un servidor autónomo:

      service.bat install /loglevel INFO
    2. Para un servidor en un dominio administrado:

      Utilice el parámetro /host para especificar el nombre del controlador de host de JBoss EAP que está controlado por el servicio. Puede ver los valores válidos para el nombre ejecutando ls /host en la CLI de administración.

      Reemplace EAP_HOST_NAME en el comando siguiente con el nombre del controlador de host de JBoss EAP. Si especifica el parámetro /host sin proporcionar un nombre de controlador de host de JBoss EAP, el nombre se omite en master.

      service.bat install /host EAP_HOST_NAME /loglevel INFO

    Se creará un nuevo servicio Windows con el nombre JBossEAP7.

  4. Verifique el nuevo servicio en la consola de Servicios

    Abra la consola de servicios de Windows (services.msc) y verifique si el servicio ha sido creado.

    Si se utilizó el nombre predeterminado del servicio en la lista de servicios Windows, entonces el nuevo servicio tendrá por nombre: JBossEAP. Desde la consola de servicios puede iniciar y detener el servicio así como cambiar su configuración y la manera y momento de inicio.

  5. Iniciar y detener el servicio JBoss EAP desde una terminal

    Para iniciar el servicio desde una terminal, use el siguiente comando, cambiando el nombre del servicio si es necesario:

    net start JBossEAP7

    Para detener el servicio desde una terminal, use el siguiente comando, cambiando el nombre del servicio si es necesario:

    net stop JBossEAP7

Si desea retirar el servicio JBoss EAP, use el siguiente procedimiento.

Suprimir el servicio JBoss EAP en Microsoft Windows Server

  1. Si el servicio está ejecutándose, primero abra una terminal y detenga el servicio con el comando net stop con el nombre del servicio:

    net stop JBossEAP7
  2. En una terminal, cambie los directorios a EAP_HOME\bin y ejecute el siguiente comando:

    service.bat uninstall

4.4. Configurar JBoss EAP como un servicio mediante Jsvc

Los paquetes de los servicios JBoss Core de Apache Jsvc pueden ser utilizados para ejecutar JBoss EAP como un servicio de segundo plano en Red Hat Enterprise Linux y Solaris.

Nota

En Red Hat Enterprise Linux, le recomendamos usar métodos nativos para ejecutar JBoss EAP como un servicio.

Jsvc es un grupo de bibliotecas y aplicaciones que le permiten a las aplicaciones Java ejecutar en plataformas similares a UNIX como un servicio de segundo plano. Le permite a las aplicaciones realizar operaciones como un usuario privilegiado y luego cambiar de identidad como un usuario sin privilegios.

Jsvc usa tres procesos: un proceso para lanzar, un proceso de controlador y un proceso controlado. El proceso controlado también es el hilo Java principal. Si la JVM se cae entonces el proceso controlador reiniciará dentro de 60 segundos. Jsvc es un proceso de daemon y para JBoss EAP debe ser iniciado por el usuario privilegiado.

Instale el paquete Jsvc de JBoss Core Services

  • Para instalaciones ZIP o de instalador:
  1. Abra un navegador e inicie sesión en el Portal del cliente de Red Hat en la Página de descargas de software JBoss.
  2. Seleccione Apache Jsvc en el menú desplegable de Producto.
  3. Seleccione la versión más reciente en el menú desplegable Versión.
  4. Busque Red Hat JBoss Core Services Apache Jsvc en la lista, asegurándose de seleccionar la plataforma y la arquitectura correctas para su sistema, luego haga clic en el enlace Descargar.
  5. Extraiga el archivo ZIP descargado en el directorio que contiene su directorio de instalación JBoss EAP.

    Como resultante tendrá el directorio jbcs-jsvc-<VERSION> en la misma profundidad que el directorio de instalación de JBoss EAP. Por ejemplo:

    /var/opt/
    ├── jboss-eap-7.0
    │   ├── bin
    │   └── ...
    └── jbcs-jsvc-<VERSION>
  6. Los ejemplos de comandos para usar Jsvc e iniciar JBoss EAP presumen que el usuario jboss ha sido creado. Si aún no ha creado un usuario para JBoss EAP, ejecute los siguientes comandos para crear el usuario y grupo jboss.

    # groupadd -f -g 185 -r jboss
    # useradd -r -u 185 -g jboss -d EAP_HOME -s /sbin/nologin -c "JBoss" jboss
  • Para instalaciones RPM en Red Hat Enterprise Linux.
  1. Ingrese a Red Hat Subscription Manager.
  2. Haga clic en Sistemas en el Inventario de suscriptor.
  3. Suscríbase a los repositorios JBoss Core Services CDN en funcionamiento para la versión y arquitectura de su sistema operativo:

    1. Para Red Hat Enterprise Linux 6:

      • jb-coreservices-1-for-rhel-6-server-rpms
    2. Para Red Hat Enterprise Linux 7:

      • jb-coreservices-1-for-rhel-7-server-rpms
  4. Ejecute el siguiente comando como usuario root para instalar Jsvc:

    # yum groupinstall jbcs-jsvc
Nota

Asegúrese de establecer la variable JAVA_HOME del entorno del sistema.

Utilice Jsvc para iniciar JBoss EAP como un servidor autónomo

Los siguientes comandos se utilizan para iniciar y detener JBoss EAP en modo autónomo mediante Jsvc. Las tablas a continuación muestran las rutas para los comandos de una instalación ZIP/Instalador JBoss EAP o una Instalación RPM.

Tabla 4.1. Ubicación del archivo Jsvc para instalaciones ZIP/Instalador - Servidor autónomo

Referencia de archivos en instruccionesUbicación del archivo

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

Tabla 4.2. Ubicación del archivo Jsvc para instalaciones RPM - Servidor autónomo

Referencia de archivos en instruccionesUbicación del archivo

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

Iniciar un servidor JBoss EAP mediante Jsvc:

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

Detener los procesos de servidor 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

Utilice Jsvc para iniciar JBoss EAP de dominio administrado

Los siguientes comandos se utilizan para iniciar y detener JBoss EAP en modo autónomo mediante Jsvc. Las tablas a continuación muestran las rutas requeridas para los comandos de una instalación ZIP/Instalador JBoss EAP o una Instalación RPM.

Tabla 4.3. Ubicación del archivo Jsvc para instalaciones ZIP/Instalador - Dominio administrado

Referencia de archivos en instruccionesUbicación del archivo

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

Tabla 4.4. Ubicación del archivo Jsvc para instalaciones RPM - Dominio administrado

Referencia de archivos en instruccionesUbicación del archivo

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

Antes de ejecutar el siguiente comando, asegúrese de establecer la variable del entorno del sistema JAVA_HOME.

Inicie un dominio administrado JBoss EAP mediante Jsvc:

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 \
&

Detenga un dominio administrado JBoss EAP mediante Jsvc:

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