JBOSS
 
 
JBOSS
(SERVIDOR DE APLICAÇÃO)

JBOSS é um servidor de aplicação JAVA.



Variáveis de Ambiente
JAVA=java
JAVA_HOME=/usr/lib/jvm/java
JBOSS_HOME=/opt/jboss/jboss-eap-6.4
JAVA_OPTS='-Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.modules.policy-permissions=true'
PATH=$PATH:$JAVA_HOME/bin:$JBOSS_HOME/bin


INSTALAR O JDK DEVEL
http://www.oracle.com/technetwork/java/javase/downloads/index.html (faça o download do JDK)
# tar -zxvf jdk-7xxx-linux-x64.tar.gz
OU
yum search jdk
yum install java-1.7.0-openjdk (instala o java, inclusido o comando "java" já ficará disponível. Para que o comando "jar" apareça é preciso instalar o "java-1.7.0-openjdk-devel")
OU
apt-cache search jdk | grep -i jdk
apt-get install java-1.7.0-openjdk ()


INSTALAR O JBOSS
# java -jar jboss-eap-6.3.0-installer.jar (modo gráfico)
# java -jar jboss-eap-6.3.0-installer.jar -console (modo texto)
# java -jar jboss-eap-6.3.0-installer.jar auto.xml (instalação automática, obtendo os valores do arquivo "auto.xml"


Desinstalação Server
# java -jar ../$EAP_HOME/uninstaller.jar


CRIAR USUÁRIO
add-user.sh
cat /opt/jboss/jboss-eap-6.4/standalone/configuration/mgmt-groups.properties /opt/jboss/jboss-eap-6.4/standalone/configuration/mgmt-users.properties (arquivos que contém os usuários e grupos do JBOSS)


JBOSS STANDALONE
# standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0
# standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management 0.0.0.0
BROWSER - http://IP_do_JBOSS:9990 (Interface de gerenciamento. Será solicitado usuário e senha)



DEPLOYMENT
*.war (aplicação em si)
/opt/jboss/jboss-eap-6.4/standalone/data/content/4f/75e536e32619ea1d9903359f819ff591e4906d/content (ao se adicionar uma aplicação [war] é nesse caminho que ela vai ficar)
/opt/jboss/jboss-eap-6.4/domain/data/content/4f/75e536e32619ea1d9903359f819ff591e4906d/content (ao se adicionar uma aplicação [war] é nesse caminho que ela vai ficar)
/opt/jboss/jboss-eap-6.4/standalone/deployments/ (diretório onde também se pode fazer o deployment de uma aplicação [war])
/opt/jboss/jboss-eap-6.4/domain/deployments/ (diretório onde também se pode fazer o deployment de uma aplicação [war])


CONECTAR REMOTAMENTE COM CLI
/opt/jboss/jboss-eap-6.3/bin/jboss-cli.sh --connect --controller=192.168.122.87
ls /
ls /host=master/
/server-group=test:add(profile=ha,socket-binding-group=ha-sockets) (adicionar um grupo)
/host=master/server-config=server1:add(group=test,auto-start=true,socket-binding-port-offset=0) (adicionar um servidor master no grupo acima)
reload --host=master (reload nas configurações do JBOSS)
reload --restart-servers=true --host=master (restart no JBOSS)
shutdown --host=master


HISTORICO DOS XML - BACKUP GERADO PELO PRÓPRIO JBOSS
/opt/jboss/jboss-eap-6.3/domain/configuration/domain_xml_history/










ADICIONAR UM SLAVE NUM DOMAIN

No servidor que será o master faça:

add-user.sh (opção "a", digite o nome da conta, senha, no group deixe em branco, real "ManagementReal", "use a AS process ... for a slave connecting to the master ..." responda "yes". Uma hash entre tags irá aparecer. Copie isso, pois ele será inserido nos Jboss Slaves. Seria algo do tipo "<secret value="ZHIjd2UkNzIwMjZASmJvc3M=" />")
cp domain/configuration/host.xml domain/configuration/host.xml.orig
vi domain/configuration/host.xml (coloque "0.0.0.0")

Restart o Jboss no master

No servidor que será o slave faça:

cp domain/configuration/host.xml domain/configuration/host.xml.orig
cp domain/configuration/host-slave.xml domain/configuration/host.xml
vi domain/configuration/host.xml











MOD_CLUSTER (1.3) TCP COM JBOSS DOMAIN



SERVIDOR APACHE
# yum install httpd -y (REDHAT)
Faça o download do mod_cluster http://mod-cluster.jboss.org/downloads (vão existir pacotes binário e do código-fonte. Qualquer um dos dois funcionarão)
# cp mod_cluster_slotmem.so mod_manager.so mod_proxy_cluster.so mod_advertise.so /etc/httpd/modules/
# /etc/httpd/conf.modules.d/02-mod_cluster.conf

# setenforce 0
# systemctl restart httpd
Acesse "http://X.X.X.X:6666/mod_cluster-manager (página de gerenciamento do "mod_cluster")


JBOSS DOMAIN
vi domain/configuration/domain.xml (coloque o 'proxy-list="192.168.122.5:6666"' e o 'instance-id="${jboss.node.name}"', conforme figuras a seguir dentro dos profiles desejado. Geralmente se coloca esses paramentros dentro do profile "ha" e "full-ha". O 'proxy-list="192.168.122.5:6666"' é o IP do Apache com o mod_cluster configurado e o 'instance-id="${jboss.node.name}"' serve para mostrar o hostname ao invés de uma string do gigante gerada pelo próprio JBOSS)



Pare o Jboss Domain e Start novamente
Acesse as aplicações através do Apache "http://X.X.X.X:6666/aplic_01





MOD_CLUSTER (1.3) UDP COM JBOSS DOMAIN



SERVIDOR APACHE
# yum install httpd -y (REDHAT)
Faça o download do mod_cluster http://mod-cluster.jboss.org/downloads (vão existir pacotes binário e do código-fonte. Qualquer um dos dois funcionarão)
# cp mod_cluster_slotmem.so mod_manager.so mod_proxy_cluster.so mod_advertise.so /etc/httpd/modules/
# /etc/httpd/conf.modules.d/02-mod_cluster.conf

# setenforce 0
# systemctl restart httpd
Acesse "http://X.X.X.X:6666/mod_cluster-manager (página de gerenciamento do "mod_cluster")


JBOSS DOMAIN
vi domain/configuration/domain.xml (coloque o 'proxy-list="192.168.122.5:6666"', conforme figuras a seguir dentro dos profiles desejado. Geralmente se coloca esse paramentro dentro do profile "ha" e "full-ha". O 'instance-id="${jboss.node.name}"' serve para mostrar o hostname ao invés de uma string do gigante gerada pelo próprio JBOSS)



Pare o Jboss Domain e Start novamente
Acesse as aplicações através do Apache "http://X.X.X.X:6666/aplic_01





MOD_CLUSTER (1.3) TCP COM JBOSS STANDALONE



SERVIDOR APACHE
# yum install httpd -y (REDHAT)
Faça o download do mod_cluster http://mod-cluster.jboss.org/downloads (vão existir pacotes binário e do código-fonte. Qualquer um dos dois funcionarão)
# cp mod_cluster_slotmem.so mod_manager.so mod_proxy_cluster.so mod_advertise.so /etc/httpd/modules/
# /etc/httpd/conf.modules.d/02-mod_cluster.conf

# setenforce 0
# systemctl restart httpd
Acesse "http://X.X.X.X:6666/mod_cluster-manager (página de gerenciamento do "mod_cluster")


JBOSS STANDALONE 01
# mkdir standalone/configuration/original
# cp standalone/configuration/* standalone/configuration/original/
# vi standalone/configuration/standalone-ha.xml (coloque o 'proxy-list="192.168.122.5:6666"' e o 'instance-id="${jboss.node.name}"', conforme figuras a seguir dentro dos profiles desejado. Geralmente se coloca esses paramentros dentro do profile "ha" e "full-ha". O 'proxy-list="192.168.122.5:6666"' é o IP do Apache com o mod_cluster configurado e o 'instance-id="${jboss.node.name}"' serve para mostrar o hostname ao invés de uma string do gigante gerada pelo próprio JBOSS)



Pare o Jboss StandAlone e Start novamente "bin/standalone.sh -c standalone-ha.xml"
Acesse as aplicações através do Apache "http://X.X.X.X:6666/aplic_01


JBOSS STANDALONE 02
# mkdir standalone/configuration/original
# cp standalone/configuration/* standalone/configuration/original/
# vi standalone/configuration/standalone-ha.xml (coloque o 'proxy-list="192.168.122.5:6666"' e o 'instance-id="${jboss.node.name}"', conforme figuras a seguir dentro dos profiles desejado. Geralmente se coloca esses paramentros dentro do profile "ha" e "full-ha". O 'proxy-list="192.168.122.5:6666"' é o IP do Apache com o mod_cluster configurado e o 'instance-id="${jboss.node.name}"' serve para mostrar o hostname ao invés de uma string do gigante gerada pelo próprio JBOSS)



Pare o Jboss StandAlone e Start novamente "bin/standalone.sh -c standalone-ha.xml"
Acesse as aplicações através do Apache "http://X.X.X.X:6666/aplic_01





OUTROS



Arquivo de configuração





Arquivo de configuração



REFERENCIAS https://developer.jboss.org/thread/195631?tstart=0 http://4jboss.blogspot.com.br/2014/05/configurando-o-jboss-eap-62-no-centos.html https://jbossdivers.wordpress.com/2013/01/08/um-pouco-mais-sobre-deploy-no-jboss-as-7/


AGUARDE
PÁGINA EM CONSTRUÇÃO






Referências Bibliográgicas

 
 


Hugo Azevedo de Jesus
ETI - Especialista em Tecnologia da Informação