Red Hat Training

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

Capítulo 4. Configurando o JBoss EAP para Ser Executado como um Serviço

4.1. Configurando o JBoss EAP como um Serviço no Red Hat Enterprise Linux (Instalações ZIP e do Instalador)

Pré-requisitos

  • Instale o JBoss EAP como uma instalação ZIP ou do Instalador.
  • Privilégios de administrador no servidor.

Configurando o JBoss EAP como um Serviço no Red Hat Enterprise Linux

  1. Personalize as opções de inicialização no arquivo jboss-eap.conf.

    O script de inicialização e o arquivo de configuração associado a ele estão localizados no diretório EAP_HOME/bin/init.d/. Abra jboss-eap.conf em um editor de texto e defina as opções para a sua instalação do JBoss EAP.

    Há várias opções no arquivo jboss-eap.conf e você deve fornecer pelo menos os valores corretos para o JBOSS_HOME e o JBOSS_USER.

    You can customize the other options provided in the configuration file by uncommenting and editing the respective lines. If you do not, the service will default to starting a standalone JBoss EAP server using the default configuration file, standalone.xml.

    Nota

    If you want the service to start JBoss EAP as a managed domain, add JBOSS_MODE=domain to jboss-eap.conf.

    To specify custom domain configuration files, add JBOSS_DOMAIN_CONFIG=DOMAIN_CONFIG_FILE.xml and JBOSS_HOST_CONFIG=HOST_CONFIG_FILE.xml. By default, JBoss EAP uses domain.xml and host.xml as the domain configuration files.

  2. Copie os arquivos de serviço nos diretórios do sistema.

    1. Copie o arquivo de configuração do serviço modificado ao diretório /etc/default.

      sudo cp EAP_HOME/bin/init.d/jboss-eap.conf /etc/default
    2. Copie o script de inicialização do serviço no diretório /etc/init.d e dê a ele permissões para execução:

      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. Adicione o novo serviço jboss-eap-rhel.sh à lista dos serviços iniciados automaticamente, usando o comando de gerenciamento do serviço chkconfig.

    sudo chkconfig --add jboss-eap-rhel.sh
  4. Verifique se o serviço foi instalado corretamente usando um dos seguintes comandos:

    1. Para o Red Hat Enterprise Linux 6:

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

      sudo service jboss-eap-rhel start

    O serviço será iniciado. Caso você obtenha um erro, verifique os logs de erro e certifique-se de que as opções no arquivo de configuração estejam definidas corretamente.

  5. Para que o serviço seja iniciado automaticamente ao iniciar o servidor do Red Hat Enterprise Linux, execute o seguinte comando:

    sudo chkconfig jboss-eap-rhel.sh on

Caso deseje remover o serviço do JBoss EAP, use o procedimento a seguir:

Removendo o Serviço do JBoss EAP no Red Hat Enterprise Linux

  1. Caso o serviço esteja em execução, abra um terminal e interrompa o serviço com um dos seguintes comandos:

    1. Para o Red Hat Enterprise Linux 6:

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

      sudo service jboss-eap-rhel stop
  2. Remova o JBoss EAP da lista de serviços:

    sudo chkconfig --del jboss-eap-rhel.sh
  3. Exclua o arquivo de configuração do serviço e o script de inicialização:

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

4.2. Configurando o JBoss EAP como um Serviço no Red Hat Enterprise Linux (Instalação RPM)

Pré-requisitos

  • Instale o JBoss EAP como uma instalação RPM.
  • Privilégios de administrador no servidor.

An RPM installation of JBoss EAP installs everything that is required to run JBoss EAP as a service. Use one of the following commands to activate the JBoss EAP service to start automatically at system boot.

For the commands below, replace EAP_SERVICE_NAME with either eap7-standalone for a standalone JBoss EAP server, or eap7-domain for a managed domain.

  • Para o Red Hat Enterprise Linux 6:

    chkconfig EAP_SERVICE_NAME on
  • Para o Red Hat Enterprise Linux 7:

    systemctl enable EAP_SERVICE_NAME.service

To start or stop an RPM installation of JBoss EAP on demand, see the RPM instructions in the JBoss EAP Configuration Guide.

Nota

See the RPM service configuration files appendix in the JBoss EAP Configuration Guide for further details and options.

4.3. Configurando o JBoss EAP como um Serviço no Microsoft Windows Server

Pré-requisitos

  • Instale o JBoss EAP como uma instalação ZIP ou do Instalador.
  • Privilégios de administrador no servidor.
  • A variável de ambiente do sistema JAVA_HOME deve ser definida.
  • A instância do servidor do JBoss EAP não deve estar em execução.
Importante

O uso do comando set para a definição das variáveis de ambiente do sistema em um prompt de comando do Windows Server não definirá permanentemente a variável de ambiente. Você deve usar o comando setx ou a interface do Sistema no Painel de Controle.

Configurando o JBoss EAP como um Serviço no Microsoft Windows Server

  1. Crie duas variáveis de ambiente do sistema:

    • JBOSS_HOME apontando para o diretório de instalação do JBoss EAP.
    • NOPAUSE=1
  2. Instale o Pacote Jsvc no JBoss Core Services

    Caso não esteja configurado ainda, baixe e extraia o pacote Jsvc do JBoss Core Services.

    1. Open a browser and log in to the Red Hat Customer Portal JBoss Software Downloads page.
    2. Select Apache Jsvc in the Product drop-down menu.
    3. Selecione a versão mais recente no menu suspenso Versão.
    4. Find Red Hat JBoss Core Services Apache Jsvc in the list, ensuring that you select the correct platform and architecture for your system, and click the Download link.
    5. Extraia o arquivo ZIP baixado no diretório contendo o seu diretório de instalação do JBoss EAP.

      Isto resultará em um diretório jbcs-jsvc-<VERSION> com a mesma profundidade que o seu diretório de instalação do JBoss EAP. Por exemplo:

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

    Abra um terminal e mude os diretórios para EAP_HOME\bin.

    Seguem abaixo exemplos de um comando básico service.bat install para a criação de um novo serviço tanto para um servidor autônomo como para um servidor em um domínio gerenciado. Para uma lista de todas as opções possíveis, execute service.bat, sem argumento algum.

    Execute o comando a seguir, ajustando o nível de log para o serviço como necessário:

    1. Para um servidor autônomo:

      service.bat install /loglevel INFO
    2. Para um servidor em domínio gerenciado:

      Use the /host parameter to specify the name of the JBoss EAP host controller being controlled by the service. You can see valid values for the name by executing ls /host in the management CLI.

      Replace EAP_HOST_NAME in the command below with your JBoss EAP host controller name. If you specify the /host parameter without providing a JBoss EAP host controller name, the name defaults to master.

      service.bat install /host EAP_HOST_NAME /loglevel INFO

    Um novo serviço do Windows será criado com o nome JBossEAP7.

  4. Verifique o novo serviço no console de Serviços

    Abra o console do Windows Services (services.msc) e verifique se o serviço foi criado.

    Caso o nome do serviço padrão tenha sido usado, o novo serviço terá o nome de exibição na lista de serviços do Windows como: JBossEAP7. A partir do console de Serviços, é possível iniciar e interromper o serviço, assim como alterar as suas configurações de como e quando ele deve ser iniciado.

  5. Iniciando e Interrompendo o Serviço do JBoss EAP a partir de um Terminal

    Para iniciar o serviço a partir de um terminal, use o seguinte comando, alterando o nome do serviço caso necessário:

    net start JBossEAP7

    Para interromper o serviço a partir de um terminal, use o seguinte comando, alterando o nome do serviço caso seja necessário:

    net stop JBossEAP7

Caso deseje remover o serviço do JBoss EAP, use o procedimento a seguir:

Removendo o Serviço do JBoss EAP no Microsoft Windows Server

  1. Caso o serviço esteja em execução, primeiro abra um terminal e interrompa o serviço executando o comando net stop com o nome do serviço:

    net stop JBossEAP7
  2. Em um terminal, mude os diretórios para EAP_HOME\bin e execute o seguinte comando:

    service.bat uninstall

4.4. Configurando o JBoss EAP como um Serviço Usando Jsvc

The Apache Jsvc component of the JBoss Core Services collection can be used to run JBoss EAP as a background service on Red Hat Enterprise Linux and Solaris.

Nota

No Red Hat Enterprise Linux, recomendamos que você use native methods para executar o JBoss EAP como um serviço.

O Jsvc é um conjunto de bibliotecas e aplicativos que permite a execução de aplicativos Java em plataformas do tipo UNIX como um serviço em segundo plano. Isto permite que os aplicativos executem operações como um usuário privilegiado e, depois, troquem a identidade para um usuário não privilegiado.

O Jsvc usa três processos: um processo inicializador, um processo controlador e um processo controlado. O processo controlado também é o thread principal do Java. Se o JVM falha, o processo controlador reinicia-o dentro de 60 segundos. O Jsvc é um processo daemon e, para o JBoss EAP, ele deve ser iniciado por um usuário privilegiado.

Instale o Pacote Jsvc no JBoss Core Services

  • Para as instalações ZIP ou do instalador:
  1. Open a browser and log in to the Red Hat Customer Portal JBoss Software Downloads page.
  2. Select Apache Jsvc in the Product drop-down menu.
  3. Selecione a versão mais recente no menu suspenso Versão.
  4. Find Red Hat JBoss Core Services Apache Jsvc in the list, ensuring that you select the correct platform and architecture for your system, and click the Download link.
  5. Extraia o arquivo ZIP baixado no diretório contendo o seu diretório de instalação do JBoss EAP.

    Isto resultará em um diretório jbcs-jsvc-<VERSION> com a mesma profundidade que o seu diretório de instalação do JBoss EAP. Por exemplo:

    /var/opt/
    ├── jboss-eap-7.0
    │   ├── bin
    │   └── ...
    └── jbcs-jsvc-<VERSION>
  6. The command examples for using Jsvc to start JBoss EAP assume that a jboss user has been created. If you have not already created a user for JBoss EAP, run the following commands to create the jboss user and group:

    # groupadd -f -g 185 -r jboss
    # useradd -r -u 185 -g jboss -d EAP_HOME -s /sbin/nologin -c "JBoss" jboss
  • Para as instalações RPM no Red Hat Enterprise Linux:
  1. Faça o login no Red Hat Subscription Manager.
  2. Clique em Sistemas no Inventário do Assinante.
  3. Subscreva-se para os repositórios CDN do JBoss Core Services para a arquitetura e versão do seu sistema operacional:

    1. Para o Red Hat Enterprise Linux 6:

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

      • jb-coreservices-1-for-rhel-7-server-rpms
  4. Execute o seguinte comando, como usuário root, para instalar o Jsvc:

    # yum groupinstall jbcs-jsvc
Nota

Be sure to set the JAVA_HOME system environment variable.

Usando o Jsvc para Iniciar o JBoss EAP como um Servidor Autônomo

Os comandos a seguir são usados para iniciar e interromper o JBoss EAP em um modo autônomo usando o Jsvc. As tabelas abaixo apresentam os caminhos necessários para os comandos para uma instalação ZIP/do instalador do JBoss EAP ou uma instalação RPM.

Tabela 4.1. Localizações do Arquivo Jsvc para Instalações ZIP/do instalador - Servidor Autônomo

Referência de Arquivo em InstruçõesLocalização do Arquivo

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

Tabela 4.2. Localizações do Arquivo Jsvc para Instalações RPM - Servidor Autônomo

Referência de Arquivo em InstruçõesLocalização do Arquivo

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

Inicie um servidor autônomo do JBoss EAP usando o 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

Interrompa um servidor autônomo do JBoss EAP usando o Jsvc:

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

Usando o Jscv para Iniciar o JBoss EAP como um Domínio Gerenciado

Os comandos a seguir são usados para iniciar e interromper o JBoss EAP em um domínio gerenciado usando o Jsvc. As tabelas abaixo apresentam os caminhos necessários para os comandos para uma instalação ZIP/do instalador do JBoss EAP ou uma instalação RPM.

Tabela 4.3. Localizações do Arquivo Jsvc para Instalações ZIP/do instalador - Domínio Gerenciado

Referência de Arquivo em InstruçõesLocalização do Arquivo

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

Tabela 4.4. Localizações do Arquivo Jsvc para Instalações RPM - Domínio Gerenciado

Referência de Arquivo em InstruçõesLocalização do Arquivo

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

Before you issue the following command, be sure to set the JAVA_HOME system environment variable.

Inicie o JBoss EAP em um domínio gerenciado usando o 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 \
&

Interrompa o JBoss EAP em um domínio gerenciado usando o 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