SlideShare una empresa de Scribd logo
1 de 45
JBoss
Professional Open Source

JBoss AS
Instalación, Configuración e
Implementación
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Multiples instancias Jboss
JGroups - Clustering

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Para configurar varias instancias de JBoss en una misma
máquina, podemos utilizar en la versión AS 5 la opción de utilizar el
servicio ServiceBindingManager ó también llamado “te-reconfigurotodos-los-puertos-en-un-solo-archivo”
Este servicio viene activado por default en los
AS 5 o para activar manualmente en las
versiones 4.X.
En la serie 5.X viene activado por default y se configura
desde el archivo
server/nombre_de_instancia/conf/bootstrap/bindings.xml
La diferencia con respecto a las configuraciones que
venian con el AS 4.X se basan en que no se configura
ningún puerto, sino tan solo un parámetro donde se
indica cuanto se tiene que sumar al puerto estandard
Para establecer que configuración se quiere
utilizar se debe especificar el parámetro,
1.<parameter>${jboss.service.binding.set:ports-default}</parameter> v

donde ports-default es el nombre de una configuración, en el constructor del bean
ServiceBindingManager dentro del archivo bindings.xml
19 Octubre 2009
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Backup instalación…

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Multiples instancias Jboss
3 Tipos de escenarios
Escenario 1: Nodos en máquinas separadas

Escenario 2: Dos nodos en un único servidor, Multitarjeta
Escenario 3: Dos nodos en un único servidor, No Multitarjeta

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Multiples instancias JBoss
Escenario 1: Nodos en máquinas separadas
Este es el escenario de producción más común. Suponga que las máquinas se denominan "nodo1" y
“nodo 2", mientras que nodo1 tiene una dirección IP 192.168.0.101 y nodo2 tiene una dirección de
192.168.0.102. Supongamos que la "ServerPeerID" para nodo1 es 1 y para nodo2 es 2. Supongamos
que en cada máquina de JBoss se instala en c:JBoss.

El primer nodo1, arranca JBoss:
run -c all -g DocsPartition -u 239.255.100.100  -b 192.168.0.101 -Djboss.messaging.ServerPeerID=1

El segundo nodo2:
run -c all -g DocsPartition -u 239.255.100.100  -b 192.168.0.102 -Djboss.messaging.ServerPeerID=2

Valores:
• -c nos permite arrancar en modo ‘all’
• -g indica el nombre del cluster
• -u indica la dirección ‘multicast’ que se utilizara para la comunicación interna del cluster
• -b indica la dirección IP que tomaremos del servidor
• -D indica el ID único de la propiedad del sistema ‘jboss.messaging.ServerPeerID’
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Multiples instancias JBoss
Escenario 2: Dos nodos en un único servidor, Multitarjeta
Este es el escenario de DESARROLLO más común. Se utiliza en producción en combinación con el
escenario 1. Supongamos utilizan las mismas direcciones y ServerPeerIDs que el escenario 1. Debemos
copiar el directorio ‘all’ creando dos directorios nuevos: nodo1 y nodo2

El primer nodo1, arranca JBoss:
run -c nodo1 -g DocsPartition -u 239.255.100.100  -b 192.168.0.101 -Djboss.messaging.ServerPeerID=1

El segundo nodo2:
run -c nodo2 -g DocsPartition -u 239.255.100.100  -b 192.168.0.102 -Djboss.messaging.ServerPeerID=2

Valores:
• -c nos permite arrancar en modo ‘nodoX’
• -g indica el nombre del cluster
• -u indica la dirección ‘multicast’ que se utilizara para la comunicación interna del cluster
• -b indica la dirección IP que tomaremos del servidor
• -D indica el ID único de la propiedad del sistema ‘jboss.messaging.ServerPeerID’
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Multiples instancias JBoss
Escenario 3: Dos nodos en un único servidor, No Multitarjeta
Esto es similar a la hipótesis del escenario 2, pero aquí la máquina tiene una única dirección IP disponible.
Dos procesos no pueden llamarse en la misma dirección y puerto, así que tendremos que decirle a JBoss que
utilice puertos diferentes para los dos casos. Esto puede hacerse mediante la configuración del servicio
ServiceBindingManager estableciendo la propiedad del sistema jboss.service.binding.set.

El primer nodo1, arranca JBoss:
run -c all -g DocsPartition -u 239.255.100.100  -b 192.168.0.101 -Djboss.messaging.ServerPeerID=1 
-Djboss.service.binding.set=ports-default

El segundo nodo2:
run -c all -g DocsPartition -u 239.255.100.100  -b 192.168.0.102 -Djboss.messaging.ServerPeerID=2 
-Djboss.service.binding.set=ports-01
Valores:
• -c nos permite arrancar en modo ‘all’
• -g indica el nombre del cluster
• -u indica la dirección ‘multicast’ que se utilizara para la comunicación interna del cluster
• -b indica la dirección IP que tomaremos del servidor
• -D indica el ID único de la propiedad del sistema ‘jboss.messaging.ServerPeerID’
• -D indica el – ECM /CMS Manager
19 Octubre 2009
César Pajaresvalor incremental (100) del puerto de la propiedad del sistema ‘jboss.service.binding.set’ con valor
ports-01
Curso JBoss JB366
cesarpajares@gmail.com
Jboss AS 5.1.0 Instalación

Apache y JBOSS AS (puerto 80)
Para seguir con los ejemplos de clusterización nos vamos a centrar en el uso
de un cluster en un entorno web para poder crear la siguiente arquitectura:

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Apache y JBOSS AS (puerto 80)
Esta estructura es interesante cuando queremos tener en un entorno web múltiples
instancias de JBOSS sobre la misma url.
En la figura se observa que todas las peticiones de los usuarios de internet
son procesadas por Apache y este las distribuye sobre los servidores
de aplicaciones que a su vez se encargan de ejecutar la lógica de negocio
de la aplicación y devuelven (o no) las respuesta adecuada. Esta arquitectura es una de las
más utilizadas.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Apache y JBOSS AS (puerto 80)
Descargar Apache 2.2
Para seguir con el montaje necesitamos un servidor Apache 2.2,
Existen dos maneras de montar el proxy apache sobre cada servidor de aplicaciones
del cluster:
• Usando mod_jk 1.2.x
• Usando mod_proxy con JBoss y Apache2.2.x

Configurar mod_proxy en httpd.conf
Por la sencillez, robustez y estabilidad vamos a escoger la opción 2. Y empezamos
habilitando el módulo correspondiente en la configuración del apache, para ello:

Editamos el fichero /etc/httpd/conf/httpd.conf
Con esto es suficiente para cargar el balanceador http en el apache.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Apache y JBOSS AS (puerto 80)
Configurar mod_proxy en httpd.conf
Es siguiente paso es registrar nuestro cluster de dos nodos en el apache editando:
Editamos el fichero /etc/httpd/conf/httpd.conf

y pegando el siguiente código al final del fichero
##### balancer://jbosscluster es el nombre del balanceador apache sobre nuestro
cluster node1 y node2
<Proxy balancer://jbosscluster>
# cluster member 1
BalancerMember http://10.0.0.1:8080 route=node1
# cluster member 2
BalancerMember http://10.0.0.2:8080 route=node2
ProxySet stickysession=JSESSIONID|jsessionid
ProxySet lbmethod=byrequests
ProxySet nofailover=Off
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Deny from all
## Introducir las IPs permitidas separadas por espacios para monitorizar el
balanceador.
Allow from 127.0.0.1
</Location>

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

En la documentación oficial de
apache se puede encontrar la
definición de todos los
parametros que acepta el
balanceador (Apache Module
mod_proxy)

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Apache y JBOSS AS (puerto 80)
Habilitar un virtual host (no publicar aplicaciones en el context-root)
Por defecto el servidor de aplicaciones JBOSS presenta diferentes aplicaciones web
para configuración, monitoreo, servicios, etc. con lo que tenemos que asegurarnos de
no clusterizar/balancear estos servicios. Para ello vamos a crear un virtual-host en
apache sobre el dominio donde montemos nuestra aplicación web.
Nuestra aplicación de ejemplo se publicará bajo el dominio
www.dominio.com, escogemos como contexto de aplicación un nombre que no esté
reservado por el servidor de aplicaciones, por ejemplo /dominioWeb.

Con los nombres anteriores y sin un apache y sin
un cluster el acceso a la aplicación sería con:
http://www.dominio.com:8080/dominio/
En el caso de nuestro cluster será:
http://192.168.2.104:8080/dominioWeb/
http://192.168.2.105:8080/dominioWeb/
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Estructura del Servidor

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
The JBoss Server - A Quick Tour

Estructura del Servidor
¿que vamos a explorar?

• Exploraramos la estructura de directorios
• Ubicaciones de los archivos de configuración
• Ubicación de los ficheros de registro
• Ubicación de los archivos de despliegue

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
The JBoss Server - A Quick Tour

Estructura del Servidor

+ bin/ - contains start scripts and run.jar
+ client/ - client jars
+ docs/ - docs, schemas/dtds, examples
+ lib/ - core bootstrap jars, different with the introduction of the microcontainer and breakup of jboss-common.
+ server/ - contains the same server configuration directories.
+ default/ configuration
+ conf/ - contains server configuration files used when starting the
server. changes in here are detected on restarting your server.
# bootstrap-beans.xml - new mc kernel bootstrap configuration
# jax-ws-catalog.xml - oasis catalog driven schema/dtd namespace configuration
# jbossjta-properties.xml - new JBossTS properties
# jboss-service.xml - legacy static mbeans for compatibility
# jndi.properties - the same jndi props
# log4j.xml - the same log4j config
# login-config.xml - the same jaas login config
# props/ - the same default jaas login properties files
# standardjaws.xml - obsolete cmp config
# standardjbosscmp-jdbc.xml - the same cmp2 config
# standardjboss.xml - the same ejb2 config # xmdesc/ - legacy xmbean descriptors
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
The JBoss Server - A Quick Tour

Estructura del Servidor

+ data/ - contains hypersonic local database, transactions, xmbean configuration files.
+ deploy/ - this is where services and your java applications are deployed. You can deploy
an application on the JBoss application server by simply copying the
application's (WAR, EAR or JAR files) into this directory.
+ deployers/ - new vdf deployers
# bsh-deployer - beanshell deployer
# ejb3.deployer - ejb3 deployers
# jboss-aop-jboss5.deployer - aspect deployer
# jboss-jca.deployer - JCA deployers
# jbossweb.deployer - war deployers
# jbossws.deployer - web services deployers
# ear-deployer-beans.xml - ear deployers
# ejb-deployer-beans.xml - ejb2.x deployers
# metadata-beans.xml - metadata handlers
# security-deployer-beans.xml - security deployers
# profileservice-beans.xml.bak - an example of the repository based profile
service
+ lib/ - the JBoss AS static library files shared by the services and applications in the
respective configuration.
19 Octubre 2009
César Pajares – ECM /CMS Manager
Curso JBoss JB366
cesarpajares@gmail.com
Jboss AS 5.1.0 Instalación

Archivos de Configuración

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración
Fundamentalmente, la arquitectura de JBoss consiste en el microcontainer, beans
de arranque de carga del microcontainer, una colección de implantadores
(deployers) para la carga de diferentes tipos de implementación, y varios McBean
(jboss-beans.xml) y Bean de implementación (jboss-service.xml).
Esto hace que sea fácil de montar diferentes configuraciones y nos da la flexibilidad
de adaptar JBoss para satisfacer nuestros requisitos.
• No es necesario cargar todos los componentes que NO sean necesarios
• Podemos reducir el tiempo de arranque del servidor
• Podemos integrar servicios adicionales escribiendo nuestros propios Mbeans.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración
JBoss esta compuesto por diversos archivos de configuración los cuales se
encuentran bajo el directorio /server/<modalidad>/conf de la instalación de
JBoss, este directorio a su vez puede contener varios subdirectorios. Nos basaremos en
esta sección en el contenido del directorio default.
A continuación se mencionan los parámetros de los principales archivos para la
modalidad default, lo cual equivale al contenido del directorio /server/default/conf
bootstrap.xml
Este es el fichero que define que implantaciones adicionales del microcontainer
se cargan como parte de la fase de arranque.
bootstrap/*
Este directorio contiene los descriptores de arranque del microcontainer a los que se hace
referencia en el archivo bootstrap.xml.
jboss-service.xml
El arranque de servicios de
Archivo que contiene los parámetros principales del Servidor JBoss; este
este fichero será migrado a
archivo XML define los valores para la variable CLASSPATH, el puerto para el
las implementaciones de
servidor JNDI y el directorio donde serán colocados los distintos EJB's para ser arranque (bootstrap) en un
ejecutados, entre otros parámetros como usuarios y roles disponibles para
futuro.
emplear el sistema "Messaging" proporcionado con JBoss..
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración
jndi.properties
Contiene las Clases que serán utilizadas ("Factory's") para realizar búsquedas JNDI.
Jbossjta-properties.xml
Especifica las propiedades por defecto del gestor de transacciones JBossTs
Java.policy
Un marcador que define la política de seguridad de java y que simplemente otorga todos los permisos
jboss-log4j.xml
Contiene los parámetros empleados por el mecanismo Log4J utilizado en Jboss para generar registros
("Logs").
login-config.xml
Contiene los parámetros JAAS empleados por JBoss para verificar/autentificar usuarios.
standardjbosscmp-jdbc.xml
Contiene los valores para ser empleados en CMP ("Container Managed Persistence") EJB's.
standardjboss.xml
Contiene los parámetros estándar de configuración para JBoss tales como:
Tamaño de "Pools" para EJB's, valores de "Cache", numero de "Pools" para Bases de Datos, Clases
empleadas para Control de Transacciones, entre otros parámetros.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración
Props/*
Contiene los ficheros de las propiedades de usuarios y roles para la consola JMX
xmdesc/*-mbean.xml
Este directorio contiene los descriptores XMBean para varios servicios configurados en el fichero
jboss-service.xml

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Autenticación en la
Consola JMX

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Autenticación en la Consola JMX
Debido a que la aplicación Web de consola JMX es sólo un servlet estándar, se
puede asegurar mediante los roles J2EE estándar basados en la seguridad. El
JMX console.war se despliega como un WAR sin empaquetar que incluye una
configuración de la plantilla que permite utilizar nombre de usuario y
restricciones de acceso basados en contraseñas. Si nos fijamos en el JMX
console.war en el directorio server / default / deploy, encontraremos el jbossweb.xml y descriptores web.xml en el directorio WEB-INF y JMX consoleroles.properties y jmx–console-users.properties archivos bajo WEBINF/classes.

Vamos a editar ambos ficheros incluyendo un nuevo usuario

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración
• JBoss Application Server incluye tres configuraciones de servidor diferente.
• Dentro del directorio <JBoss_Home> / server , se encuentran cinco subdirectorios:
• default
• mínimal
• standard
• all
• web

Si le introducimos el parámetro ‘-c’ ,
modificaremos el arranque de la
configuración del servidor.
Ej: run –c all

Existe un directorio para cada configuración del servidor. Cada una de estas
configuraciones ofrecen un diferente conjunto de servicios. La configuración
“default” es la que utiliza si no se especifica otra cuando se pone en marcha el
servidor.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración
• minimal
Tiene una configuración mínima de los servicios para arrancar JBoss. Inicia:
• el servicio de registro
• un servidor JNDI
• un escáner de despliegue para buscar nuevos despliegues
Lo usaríamos para utilizar JMX e iniciar nuestros propios servicios sin tecnologías Java EE
No hay ningún contenidor web, tampoco EJBs, ni JMS
• default
Es una base del perfil del servidor de Java EE 5 que contiene un conjunto predeterminado de los
servicios. Cuenta con los servicios más utilizados para desplegar una aplicación Java EE. No incluye el
servicio de JAXR (Java API for XML Registries), o cualquiera de los servicios de clustering
• all
La configuración inicia todos los servicios disponibles. Esto incluye Web Services y los servicios de
clustering, que no están cargados en la configuración ‘default’.
• standard
Es la configuración certificada de JavaEE 5 de todos los servicios.
• web
Es un contenedor web ligero orientado al perfil de Internet de JavaEE 6.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Archivos de configuración

Si queremos saber qué servicios están configurados en cada uno
de estos casos de arranque de JBoss AS, las principales
diferencias pueden encontrare en el directorio:
• <JBoss_Home> / server / <instance-name> / deployers/

y también el despliegue de servicios en el directorio:
• <JBoss_Home> / server/ <instance-name> / deploy

• Comparemos los directorios de ‘default’ y ‘web’

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 1 – Configuring Startup Scripts

The first thing I did was to create a set of startup/shutdown scripts for JBoss Server. These were copied to the
desktop so that it is easy to start or stop the JBoss instance.

startjboss.cmd
d:
cd D:serverjboss-5.1.0.GAbin
run.bat -b 0.0.0.0

stopjboss.cmd
d:
cd D:serverjboss-5.1.0.GAbin
shutdown.bat -S

As you can see both these scripts are actually calling default scripts provided in the JBoss’ bin folder.
In the startup script the -b argument (binding ip) indicates the IP to which the server session is to be attached.
0.0.0.0 indicates that the server must be accessible from all ips including localhost (it binds the JBoss server to all
ip addresses of server machine). If you don’t specify this, JBoss will be accessible only from 127.0.0.1.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 2 – Configuring JVM Memory Settings
The run.bat file in the bin folder contains JVM parameters including memory
configuration. In the production server, ensure that these values are correctly set. For
example, the following sets the minimum and maximum heap size as 1GB. It is better to
keep them identical for performance reasons. The actual heap size setting will depend
on your application requirements and also on the RAM size of the server machine.
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m
Also ensure that adequate permgen space is set. Permgen space is the fixed memory
required such as the code footprint. For large applications the default value of 64m may
not be sufficient. Following sets the permgen space to 512MB.
set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=512m -XX:MaxPermSize=512m
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 3 – Changing Default HTTP Port to 80
The HTTP port for default JBoss installation is 8080. In production server, you will
require this to be on port 80 (default HTTP port). If you are using HTTPS, you will
need to change SSL port from 8443 to 443. Following files must be edited for this
change. Look for the “Connector” tag with “port” attribute.
(a) default/deploy/jboss-web.deployer/server.xml
(b) default/deploy/http-invoker.sar/META-INF/jboss-service.xml
(c) default/deployers/jbossweb.deployer/server.xml
(d) default/deploy/jbossws.sar/jbossws.beans/META-INF/jbossbeans.xml
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 4 – Configuring Datasource Settings
The datasource settings are stored in xml files under deploy folder of the server. For
example, oracle-ds.xml is the configuration file I used in my application. This maps a
connection setting to a JNDI name. The important parameters to configure are,
min-pool-size – This is the initial number of connections kept open to database.
max-pool-size – This is the maximum number of concurrent connections possible to
the database. This value should be based on your application needs and also on the
database configuration

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 5 – Configuring HTTP Connector Settings
The underlying HTTP connector of JBoss needs to be fine tuned for production settings. The
important parameters are,
maxThreads – This indicates the maximum number of threads to be allocated for handling
client HTTP requests. This figure corresponds to the concurrent users that are going to
access the application. Depending on the machine configuration, there is a physical limit
beyond which you will have to do clustering.
acceptCount – This is the number of request threads that are put in request queue when all
available threads are used. When this exceeds, client machines get a request timeout
response.
compression – If you set this attribute to “force”, the content will be compressed by JBoss
and will be send to browser. Browser will extract it and display the page on screen. Enabling
compression can substantially reduce bandwidth requirements of your application
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 6 – Configuring JSP Compilation Settings
JBoss application server regularly checks whether a JSP requires compilation to a
servlet before executing a JSP. In a production server, JSP files won’t change and hence
you can configure the settings for increased performance.
Open the web.xml in deploy/jboss-web.deployer/conf folder. Look for the jsp servlet in
the file and modify the following XML fragment as given below
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>checkInterval</param-name>
<param-value>300</param-value>
</init-param>
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 7 – Removing unwanted applications and services
JBoss comes with a lot of services and your enterprise applications may not need all of
them. Removing these unwanted services can boost application server performance.
Following are some of the JBoss services you can remove if your application is not using
them. Delete the files/folders given in brackets to remove these services completely
(a) Home page server- (deploy/ROOT.war)
(b) JMX Console server – (deploy/jmx-console.war)
(c) Web Console server – (deploy/management)
(d) Unique ID key generator - (deploy/uuid-key-generator.sar, lib/autonumber-plugin.jar)
(e) HTTP Invoker service – (deploy/http-invoker.sar)
(f) Quartz scheduler service – (deploy/quartz-ra.rar)
(g) Mail service – (deploy/mail-service.xml, lib/mail*.jar)
(h) Monitoring service – (deploy/monitoring-service.xml,lib/jboss-monitoring.jar)
(i) Scheduler service – (deploy/scheduler-service.xml, deploy/schedule-manager-service.xml,lib/schedulerplugin*.jar)
(j) Messaging (JMS) service – (deploy/messaging, deploy/jms-ds.xml, deploy/jms-ra.rar, lib/jboss-messaging*.jar)

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Getting Started
Production Settings and Tuning Tips
Configuring JBoss in a Production Server – Step by Step Guide
Step 8 – Protecting Administration Console Applications
Some of the default Web applications in JBoss are very useful in monitoring server
status. For example the Web Console can give valuable information such as server
memory status and active HTTP active connections. Please see the Web Console
screenshot below (http://localhost/web-console/),

Step 9 – Configuring Log4J Logging for Production
The default logging configuration in JBoss is not suitable for production deployment. In
production, you only want the errors to be logged. Open jboss-log4j.xml file in
deploy/conf folder.
First change the root category in the end to contain only FILE appender. This ensures that
there is logging to the screen and all errors are only logged to a file
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Práctica: Consola JMX
Editamos el fichero conf/jboss-service.xml, en el que si echamos un vistazo
podremos ver varios servicios incluidos
logging, security, JNDI, JNDIView, Log4j, etc.
Vamos a comentar la entrada para el servicio JNDIView, y vemos como no aparece en la consola JMX

<!-- Section 1 commented out
<mbean code="org.jboss.naming.JNDIView"
name="jboss:service=JNDIView"
xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml">
-->
<!-- The HANamingService service name -->
<!-- Section two commented out
<attribute
name="HANamingService">jboss:service=HAJNDI</attribute></mbean>
-->
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Práctica: Servicio Log4j
El registro de Log está configurado por el fichero conf/jboss-log4j.xml. Por
defecto los mensajes aparecen en la consola de arranque y en el fichero
log/server.log
Existen 6 tipos de niveles de Logging: TRACE, DEBUG, INFO, WARN, ERROR and FATAL

Cambiaremos el nivel por DEBUG y revisaremos el log/server.log para ver que se
producen muchos más detalles de registro

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Práctica: Servicio Log4j
Tambien podremos enviar nuestros registros de Log del paquete
org.jboss.ejb.plugins.cmp, a un fichero nuevo, llamado cmp.log, incluyendo
las siguientes líneas de código en el fichero conf/jboss-log4j.xml
<appender name="CMP" class="org.jboss.logging.appender.RollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/cmp.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<category name="org.jboss.ejb.plugins.cmp">
<priority value="DEBUG" />
<appender-ref ref="CMP"/>
</category>
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Servicio de seguridad
El ámbito de seguridad de la información se almacena en el fichero conf /
login-config.xml como una lista de nombres de dominios de seguridad, cada
uno de los cuales especifica una serie de módulos de inicio de sesión JAAS
(Java Authentication and Authorization Service) que se utilizan para los
propósitos de autenticación en ese dominio.

Si examinamos todos los dominios de seguridad del fichero, podemos ver que
carga la configuración de seguridad para la consola JMX, en el directorio props
/jmx-console-roles-properties y jmx-console-users-properties
Para protegerla, vamos a agregar un dominio de seguridad. Esto se puede hacer en el
fichero jboss-web.xml para la consola JMX, que se encuentra en / jmx-console.war / WEBINF /. Eliminamos el comentario de seguridad de dominio de este archivo, como se
muestra a continuación:

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Servicio de seguridad
Editamos jboss-web.xml en el directorio deploy/jmx-console.war/WEB-INF/
<jboss-web>
<security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>
Editamos web.xml en el directorio deploy/jmx-console.war/WEB-INF/
<!-A security constraint that restricts access to the HTML JMX console
to users with the role JBossAdmin. Edit the roles to what you want and
uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
secured access to the HTML JMX console.
-->
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>
An example security config that only allows users with the
role JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Servicio de seguridad
Añadiremos un usuario nuevo al que le otorgaremos permisos para entrar en la
consola JMX
• Lo configuraremos en los ficheros:
• props /jmx-console-roles-properties
Usuario=JbossAdmin

• Props/ jmx-console-users-properties
Usuario=Usuario

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación

Running as a Service
under Microsoft Windows

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Antigua instalación: Problemas con Java.lang.OutofMemoryError
Podemos configurar que el servidor se ejecute como un servicio bajo
Microsoft Windows, y configurarlo para que se inicie automáticamente si
se desea.
Paso 1.- Download the JavaService 2.0.10 package
from
http://forge.objectweb.org/projects/javaservice/.
Paso 2.- Descomprimimos el paquete y
utilizamos el archivo JBossInstall.bat para
instalar el servicio de JBoss. Debemos
establecer el JAVA_HOME y variables de
entorno JBOSS_HOME para apuntar a la JDK y
JBoss, como directorios antes de ejecutar
JBossInstall.bat.
Paso 3.- Run JBossInstall.bat con la siguiente sintaxis:
JBossInstall.bat <depends> [-auto | -manual]

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Cualquier servicio del que
dependa Jboss AS
Ej: mysql

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Instalación actual: JBossNative Windows
En algunas versiones es necesario descargar Jboss Native de la siguiente
dirección:
http://labs.jboss.com/jbossweb/downloads/
Paso 1.- Instalación: descomprimimos e utilizamos el
archivo service.bat
C:> cd c:jboss-4.2.0bin
C:> service.bat install
Paso 3.- Revisamos en Panel de Control – Herramientas administrativas –
Servicios, si ha instalado correctamente el servicio de arranque de JBoss
Podemos ejecutar en consola lo siguiente:
C:> net start JBAS50SVC
C:> net stop JBAS50SVC

César Pajares – ECM /CMS Manager
http://www.jboss.org/community/wiki/RunJBossAsAServiceOnWindows
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Jboss AS 5.1.0 Instalación
GET JBOSS 5!

http://www.jboss.org/jbossas/downloads

Questions?

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366

Más contenido relacionado

La actualidad más candente

JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 César Pajares
 
JBoss AS Monitorización - Curso JBoss JB366 Día 4
JBoss AS Monitorización - Curso JBoss JB366 Día 4 JBoss AS Monitorización - Curso JBoss JB366 Día 4
JBoss AS Monitorización - Curso JBoss JB366 Día 4 César Pajares
 
EJB con Eclipse y JBoss
EJB con Eclipse y JBossEJB con Eclipse y JBoss
EJB con Eclipse y JBossPaco Garat
 
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...Andrea Guaygua
 
Un ejemplo sencillo con ejb
Un ejemplo sencillo con ejbUn ejemplo sencillo con ejb
Un ejemplo sencillo con ejblalov777
 
Requeriminetos de sgbd oracle
Requeriminetos de sgbd oracleRequeriminetos de sgbd oracle
Requeriminetos de sgbd oracleMarcos Vazquez
 
11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio WebJosé M. Padilla
 
My Sql Comunity Edition
My Sql Comunity EditionMy Sql Comunity Edition
My Sql Comunity EditionMiguel Angel
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
Manual de instalación de mantis 1.2.11 en CentOS 5.8
Manual de instalación de mantis 1.2.11 en CentOS 5.8Manual de instalación de mantis 1.2.11 en CentOS 5.8
Manual de instalación de mantis 1.2.11 en CentOS 5.8Joshep Ticante
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerceDavid Ramirez
 
Caracteristicas quitadas o desusadas en Windows Server 2012 R2
Caracteristicas quitadas o desusadas en Windows Server 2012 R2Caracteristicas quitadas o desusadas en Windows Server 2012 R2
Caracteristicas quitadas o desusadas en Windows Server 2012 R2RaGaZoMe
 
Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7Mario Alfonso
 
William fabricio manual de sistemas sas
William fabricio manual de sistemas sasWilliam fabricio manual de sistemas sas
William fabricio manual de sistemas sasRafael Toro
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuEcuteb Gv
 

La actualidad más candente (19)

JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
 
JBoss AS Monitorización - Curso JBoss JB366 Día 4
JBoss AS Monitorización - Curso JBoss JB366 Día 4 JBoss AS Monitorización - Curso JBoss JB366 Día 4
JBoss AS Monitorización - Curso JBoss JB366 Día 4
 
EJB con Eclipse y JBoss
EJB con Eclipse y JBossEJB con Eclipse y JBoss
EJB con Eclipse y JBoss
 
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
 
Un ejemplo sencillo con ejb
Un ejemplo sencillo con ejbUn ejemplo sencillo con ejb
Un ejemplo sencillo con ejb
 
Requeriminetos de sgbd oracle
Requeriminetos de sgbd oracleRequeriminetos de sgbd oracle
Requeriminetos de sgbd oracle
 
11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web
 
My Sql Comunity Edition
My Sql Comunity EditionMy Sql Comunity Edition
My Sql Comunity Edition
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Manual de instalación de mantis 1.2.11 en CentOS 5.8
Manual de instalación de mantis 1.2.11 en CentOS 5.8Manual de instalación de mantis 1.2.11 en CentOS 5.8
Manual de instalación de mantis 1.2.11 en CentOS 5.8
 
Configservers
ConfigserversConfigservers
Configservers
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerce
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Caracteristicas quitadas o desusadas en Windows Server 2012 R2
Caracteristicas quitadas o desusadas en Windows Server 2012 R2Caracteristicas quitadas o desusadas en Windows Server 2012 R2
Caracteristicas quitadas o desusadas en Windows Server 2012 R2
 
Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7
 
William fabricio manual de sistemas sas
William fabricio manual de sistemas sasWilliam fabricio manual de sistemas sas
William fabricio manual de sistemas sas
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntu
 
Glassfish
GlassfishGlassfish
Glassfish
 

Destacado

Moodle usuario administrador
Moodle usuario administradorMoodle usuario administrador
Moodle usuario administradorJunior Matias
 
Configuracion cursomoodle
Configuracion cursomoodleConfiguracion cursomoodle
Configuracion cursomoodlecmfrancisca
 
Jmeter para Aplicaciones Web
Jmeter para Aplicaciones WebJmeter para Aplicaciones Web
Jmeter para Aplicaciones Webred.es
 
3.tutorial configuracion curso
3.tutorial configuracion curso3.tutorial configuracion curso
3.tutorial configuracion cursojpalencia
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 

Destacado (6)

Moodle usuario administrador
Moodle usuario administradorMoodle usuario administrador
Moodle usuario administrador
 
Configuracion cursomoodle
Configuracion cursomoodleConfiguracion cursomoodle
Configuracion cursomoodle
 
Jmeter para Aplicaciones Web
Jmeter para Aplicaciones WebJmeter para Aplicaciones Web
Jmeter para Aplicaciones Web
 
JMeter: Análisis de Resultados.
JMeter: Análisis de Resultados.JMeter: Análisis de Resultados.
JMeter: Análisis de Resultados.
 
3.tutorial configuracion curso
3.tutorial configuracion curso3.tutorial configuracion curso
3.tutorial configuracion curso
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 

Similar a JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3

Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionjosebunbury
 
Manual de Instalación y configuración Zimbra
Manual de Instalación  y configuración Zimbra Manual de Instalación  y configuración Zimbra
Manual de Instalación y configuración Zimbra Ignacio Lozano
 
Reporte servicios web
Reporte servicios webReporte servicios web
Reporte servicios webFacebook
 
Vps local virtualbox
Vps local virtualboxVps local virtualbox
Vps local virtualboxBaruch Ramos
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónSocialBiblio
 
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian BullseyeHenry Cristian Cuesta Vega
 
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-Sonia Garcia
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidoresrossykeles
 
Gestion de nubes d
Gestion de nubes dGestion de nubes d
Gestion de nubes drossykeles
 
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Replicación de  Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...Replicación de  Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...Julio Antonio Huaman Chuque
 
Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]
Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]
Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]David García Lopez
 
Receta red social
Receta red socialReceta red social
Receta red socialwalterose7
 
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...Freddy Banguero
 

Similar a JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3 (20)

Practica 7 servidor samba
Practica  7 servidor sambaPractica  7 servidor samba
Practica 7 servidor samba
 
.
..
.
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Manual de Instalación y configuración Zimbra
Manual de Instalación  y configuración Zimbra Manual de Instalación  y configuración Zimbra
Manual de Instalación y configuración Zimbra
 
Servidor HTTP Apache
Servidor HTTP ApacheServidor HTTP Apache
Servidor HTTP Apache
 
Reporte servicios web
Reporte servicios webReporte servicios web
Reporte servicios web
 
Vps local virtualbox
Vps local virtualboxVps local virtualbox
Vps local virtualbox
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuración
 
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
 
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
 
Gestion de nubes d
Gestion de nubes dGestion de nubes d
Gestion de nubes d
 
Guia postfix
Guia postfixGuia postfix
Guia postfix
 
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Replicación de  Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...Replicación de  Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
 
Configuracion de cent os
Configuracion de cent osConfiguracion de cent os
Configuracion de cent os
 
Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]
Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]
Instalación de Windows Sever 2016 (Máquina Virtual) [Con configuración DNS]
 
Receta red social
Receta red socialReceta red social
Receta red social
 
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Requisitos jin
Requisitos jinRequisitos jin
Requisitos jin
 

JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3

  • 1. JBoss Professional Open Source JBoss AS Instalación, Configuración e Implementación César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 2. Jboss AS 5.1.0 Instalación Multiples instancias Jboss JGroups - Clustering César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 3. Jboss AS 5.1.0 Instalación Para configurar varias instancias de JBoss en una misma máquina, podemos utilizar en la versión AS 5 la opción de utilizar el servicio ServiceBindingManager ó también llamado “te-reconfigurotodos-los-puertos-en-un-solo-archivo” Este servicio viene activado por default en los AS 5 o para activar manualmente en las versiones 4.X. En la serie 5.X viene activado por default y se configura desde el archivo server/nombre_de_instancia/conf/bootstrap/bindings.xml La diferencia con respecto a las configuraciones que venian con el AS 4.X se basan en que no se configura ningún puerto, sino tan solo un parámetro donde se indica cuanto se tiene que sumar al puerto estandard Para establecer que configuración se quiere utilizar se debe especificar el parámetro, 1.<parameter>${jboss.service.binding.set:ports-default}</parameter> v donde ports-default es el nombre de una configuración, en el constructor del bean ServiceBindingManager dentro del archivo bindings.xml 19 Octubre 2009 César Pajares – ECM /CMS Manager cesarpajares@gmail.com Curso JBoss JB366
  • 4. Jboss AS 5.1.0 Instalación Backup instalación… César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 5. Jboss AS 5.1.0 Instalación Multiples instancias Jboss 3 Tipos de escenarios Escenario 1: Nodos en máquinas separadas Escenario 2: Dos nodos en un único servidor, Multitarjeta Escenario 3: Dos nodos en un único servidor, No Multitarjeta César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 6. Jboss AS 5.1.0 Instalación Multiples instancias JBoss Escenario 1: Nodos en máquinas separadas Este es el escenario de producción más común. Suponga que las máquinas se denominan "nodo1" y “nodo 2", mientras que nodo1 tiene una dirección IP 192.168.0.101 y nodo2 tiene una dirección de 192.168.0.102. Supongamos que la "ServerPeerID" para nodo1 es 1 y para nodo2 es 2. Supongamos que en cada máquina de JBoss se instala en c:JBoss. El primer nodo1, arranca JBoss: run -c all -g DocsPartition -u 239.255.100.100 -b 192.168.0.101 -Djboss.messaging.ServerPeerID=1 El segundo nodo2: run -c all -g DocsPartition -u 239.255.100.100 -b 192.168.0.102 -Djboss.messaging.ServerPeerID=2 Valores: • -c nos permite arrancar en modo ‘all’ • -g indica el nombre del cluster • -u indica la dirección ‘multicast’ que se utilizara para la comunicación interna del cluster • -b indica la dirección IP que tomaremos del servidor • -D indica el ID único de la propiedad del sistema ‘jboss.messaging.ServerPeerID’ César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 7. Jboss AS 5.1.0 Instalación Multiples instancias JBoss Escenario 2: Dos nodos en un único servidor, Multitarjeta Este es el escenario de DESARROLLO más común. Se utiliza en producción en combinación con el escenario 1. Supongamos utilizan las mismas direcciones y ServerPeerIDs que el escenario 1. Debemos copiar el directorio ‘all’ creando dos directorios nuevos: nodo1 y nodo2 El primer nodo1, arranca JBoss: run -c nodo1 -g DocsPartition -u 239.255.100.100 -b 192.168.0.101 -Djboss.messaging.ServerPeerID=1 El segundo nodo2: run -c nodo2 -g DocsPartition -u 239.255.100.100 -b 192.168.0.102 -Djboss.messaging.ServerPeerID=2 Valores: • -c nos permite arrancar en modo ‘nodoX’ • -g indica el nombre del cluster • -u indica la dirección ‘multicast’ que se utilizara para la comunicación interna del cluster • -b indica la dirección IP que tomaremos del servidor • -D indica el ID único de la propiedad del sistema ‘jboss.messaging.ServerPeerID’ César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 8. Jboss AS 5.1.0 Instalación Multiples instancias JBoss Escenario 3: Dos nodos en un único servidor, No Multitarjeta Esto es similar a la hipótesis del escenario 2, pero aquí la máquina tiene una única dirección IP disponible. Dos procesos no pueden llamarse en la misma dirección y puerto, así que tendremos que decirle a JBoss que utilice puertos diferentes para los dos casos. Esto puede hacerse mediante la configuración del servicio ServiceBindingManager estableciendo la propiedad del sistema jboss.service.binding.set. El primer nodo1, arranca JBoss: run -c all -g DocsPartition -u 239.255.100.100 -b 192.168.0.101 -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-default El segundo nodo2: run -c all -g DocsPartition -u 239.255.100.100 -b 192.168.0.102 -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-01 Valores: • -c nos permite arrancar en modo ‘all’ • -g indica el nombre del cluster • -u indica la dirección ‘multicast’ que se utilizara para la comunicación interna del cluster • -b indica la dirección IP que tomaremos del servidor • -D indica el ID único de la propiedad del sistema ‘jboss.messaging.ServerPeerID’ • -D indica el – ECM /CMS Manager 19 Octubre 2009 César Pajaresvalor incremental (100) del puerto de la propiedad del sistema ‘jboss.service.binding.set’ con valor ports-01 Curso JBoss JB366 cesarpajares@gmail.com
  • 9. Jboss AS 5.1.0 Instalación Apache y JBOSS AS (puerto 80) Para seguir con los ejemplos de clusterización nos vamos a centrar en el uso de un cluster en un entorno web para poder crear la siguiente arquitectura: César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 10. Jboss AS 5.1.0 Instalación Apache y JBOSS AS (puerto 80) Esta estructura es interesante cuando queremos tener en un entorno web múltiples instancias de JBOSS sobre la misma url. En la figura se observa que todas las peticiones de los usuarios de internet son procesadas por Apache y este las distribuye sobre los servidores de aplicaciones que a su vez se encargan de ejecutar la lógica de negocio de la aplicación y devuelven (o no) las respuesta adecuada. Esta arquitectura es una de las más utilizadas. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 11. Jboss AS 5.1.0 Instalación Apache y JBOSS AS (puerto 80) Descargar Apache 2.2 Para seguir con el montaje necesitamos un servidor Apache 2.2, Existen dos maneras de montar el proxy apache sobre cada servidor de aplicaciones del cluster: • Usando mod_jk 1.2.x • Usando mod_proxy con JBoss y Apache2.2.x Configurar mod_proxy en httpd.conf Por la sencillez, robustez y estabilidad vamos a escoger la opción 2. Y empezamos habilitando el módulo correspondiente en la configuración del apache, para ello: Editamos el fichero /etc/httpd/conf/httpd.conf Con esto es suficiente para cargar el balanceador http en el apache. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 12. Jboss AS 5.1.0 Instalación Apache y JBOSS AS (puerto 80) Configurar mod_proxy en httpd.conf Es siguiente paso es registrar nuestro cluster de dos nodos en el apache editando: Editamos el fichero /etc/httpd/conf/httpd.conf y pegando el siguiente código al final del fichero ##### balancer://jbosscluster es el nombre del balanceador apache sobre nuestro cluster node1 y node2 <Proxy balancer://jbosscluster> # cluster member 1 BalancerMember http://10.0.0.1:8080 route=node1 # cluster member 2 BalancerMember http://10.0.0.2:8080 route=node2 ProxySet stickysession=JSESSIONID|jsessionid ProxySet lbmethod=byrequests ProxySet nofailover=Off </Proxy> <Location /balancer-manager> SetHandler balancer-manager Order deny,allow Deny from all ## Introducir las IPs permitidas separadas por espacios para monitorizar el balanceador. Allow from 127.0.0.1 </Location> César Pajares – ECM /CMS Manager cesarpajares@gmail.com En la documentación oficial de apache se puede encontrar la definición de todos los parametros que acepta el balanceador (Apache Module mod_proxy) 19 Octubre 2009 Curso JBoss JB366
  • 13. Jboss AS 5.1.0 Instalación Apache y JBOSS AS (puerto 80) Habilitar un virtual host (no publicar aplicaciones en el context-root) Por defecto el servidor de aplicaciones JBOSS presenta diferentes aplicaciones web para configuración, monitoreo, servicios, etc. con lo que tenemos que asegurarnos de no clusterizar/balancear estos servicios. Para ello vamos a crear un virtual-host en apache sobre el dominio donde montemos nuestra aplicación web. Nuestra aplicación de ejemplo se publicará bajo el dominio www.dominio.com, escogemos como contexto de aplicación un nombre que no esté reservado por el servidor de aplicaciones, por ejemplo /dominioWeb. Con los nombres anteriores y sin un apache y sin un cluster el acceso a la aplicación sería con: http://www.dominio.com:8080/dominio/ En el caso de nuestro cluster será: http://192.168.2.104:8080/dominioWeb/ http://192.168.2.105:8080/dominioWeb/ César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 14. Jboss AS 5.1.0 Instalación Estructura del Servidor César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 15. Jboss AS 5.1.0 Instalación Getting Started The JBoss Server - A Quick Tour Estructura del Servidor ¿que vamos a explorar? • Exploraramos la estructura de directorios • Ubicaciones de los archivos de configuración • Ubicación de los ficheros de registro • Ubicación de los archivos de despliegue César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 16. Jboss AS 5.1.0 Instalación Getting Started The JBoss Server - A Quick Tour Estructura del Servidor + bin/ - contains start scripts and run.jar + client/ - client jars + docs/ - docs, schemas/dtds, examples + lib/ - core bootstrap jars, different with the introduction of the microcontainer and breakup of jboss-common. + server/ - contains the same server configuration directories. + default/ configuration + conf/ - contains server configuration files used when starting the server. changes in here are detected on restarting your server. # bootstrap-beans.xml - new mc kernel bootstrap configuration # jax-ws-catalog.xml - oasis catalog driven schema/dtd namespace configuration # jbossjta-properties.xml - new JBossTS properties # jboss-service.xml - legacy static mbeans for compatibility # jndi.properties - the same jndi props # log4j.xml - the same log4j config # login-config.xml - the same jaas login config # props/ - the same default jaas login properties files # standardjaws.xml - obsolete cmp config # standardjbosscmp-jdbc.xml - the same cmp2 config # standardjboss.xml - the same ejb2 config # xmdesc/ - legacy xmbean descriptors César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 17. Jboss AS 5.1.0 Instalación Getting Started The JBoss Server - A Quick Tour Estructura del Servidor + data/ - contains hypersonic local database, transactions, xmbean configuration files. + deploy/ - this is where services and your java applications are deployed. You can deploy an application on the JBoss application server by simply copying the application's (WAR, EAR or JAR files) into this directory. + deployers/ - new vdf deployers # bsh-deployer - beanshell deployer # ejb3.deployer - ejb3 deployers # jboss-aop-jboss5.deployer - aspect deployer # jboss-jca.deployer - JCA deployers # jbossweb.deployer - war deployers # jbossws.deployer - web services deployers # ear-deployer-beans.xml - ear deployers # ejb-deployer-beans.xml - ejb2.x deployers # metadata-beans.xml - metadata handlers # security-deployer-beans.xml - security deployers # profileservice-beans.xml.bak - an example of the repository based profile service + lib/ - the JBoss AS static library files shared by the services and applications in the respective configuration. 19 Octubre 2009 César Pajares – ECM /CMS Manager Curso JBoss JB366 cesarpajares@gmail.com
  • 18. Jboss AS 5.1.0 Instalación Archivos de Configuración César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 19. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración Fundamentalmente, la arquitectura de JBoss consiste en el microcontainer, beans de arranque de carga del microcontainer, una colección de implantadores (deployers) para la carga de diferentes tipos de implementación, y varios McBean (jboss-beans.xml) y Bean de implementación (jboss-service.xml). Esto hace que sea fácil de montar diferentes configuraciones y nos da la flexibilidad de adaptar JBoss para satisfacer nuestros requisitos. • No es necesario cargar todos los componentes que NO sean necesarios • Podemos reducir el tiempo de arranque del servidor • Podemos integrar servicios adicionales escribiendo nuestros propios Mbeans. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 20. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración JBoss esta compuesto por diversos archivos de configuración los cuales se encuentran bajo el directorio /server/<modalidad>/conf de la instalación de JBoss, este directorio a su vez puede contener varios subdirectorios. Nos basaremos en esta sección en el contenido del directorio default. A continuación se mencionan los parámetros de los principales archivos para la modalidad default, lo cual equivale al contenido del directorio /server/default/conf bootstrap.xml Este es el fichero que define que implantaciones adicionales del microcontainer se cargan como parte de la fase de arranque. bootstrap/* Este directorio contiene los descriptores de arranque del microcontainer a los que se hace referencia en el archivo bootstrap.xml. jboss-service.xml El arranque de servicios de Archivo que contiene los parámetros principales del Servidor JBoss; este este fichero será migrado a archivo XML define los valores para la variable CLASSPATH, el puerto para el las implementaciones de servidor JNDI y el directorio donde serán colocados los distintos EJB's para ser arranque (bootstrap) en un ejecutados, entre otros parámetros como usuarios y roles disponibles para futuro. emplear el sistema "Messaging" proporcionado con JBoss.. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 21. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración jndi.properties Contiene las Clases que serán utilizadas ("Factory's") para realizar búsquedas JNDI. Jbossjta-properties.xml Especifica las propiedades por defecto del gestor de transacciones JBossTs Java.policy Un marcador que define la política de seguridad de java y que simplemente otorga todos los permisos jboss-log4j.xml Contiene los parámetros empleados por el mecanismo Log4J utilizado en Jboss para generar registros ("Logs"). login-config.xml Contiene los parámetros JAAS empleados por JBoss para verificar/autentificar usuarios. standardjbosscmp-jdbc.xml Contiene los valores para ser empleados en CMP ("Container Managed Persistence") EJB's. standardjboss.xml Contiene los parámetros estándar de configuración para JBoss tales como: Tamaño de "Pools" para EJB's, valores de "Cache", numero de "Pools" para Bases de Datos, Clases empleadas para Control de Transacciones, entre otros parámetros. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 22. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración Props/* Contiene los ficheros de las propiedades de usuarios y roles para la consola JMX xmdesc/*-mbean.xml Este directorio contiene los descriptores XMBean para varios servicios configurados en el fichero jboss-service.xml César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 23. Jboss AS 5.1.0 Instalación Autenticación en la Consola JMX César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 24. Jboss AS 5.1.0 Instalación Autenticación en la Consola JMX Debido a que la aplicación Web de consola JMX es sólo un servlet estándar, se puede asegurar mediante los roles J2EE estándar basados en la seguridad. El JMX console.war se despliega como un WAR sin empaquetar que incluye una configuración de la plantilla que permite utilizar nombre de usuario y restricciones de acceso basados en contraseñas. Si nos fijamos en el JMX console.war en el directorio server / default / deploy, encontraremos el jbossweb.xml y descriptores web.xml en el directorio WEB-INF y JMX consoleroles.properties y jmx–console-users.properties archivos bajo WEBINF/classes. Vamos a editar ambos ficheros incluyendo un nuevo usuario César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 25. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración • JBoss Application Server incluye tres configuraciones de servidor diferente. • Dentro del directorio <JBoss_Home> / server , se encuentran cinco subdirectorios: • default • mínimal • standard • all • web Si le introducimos el parámetro ‘-c’ , modificaremos el arranque de la configuración del servidor. Ej: run –c all Existe un directorio para cada configuración del servidor. Cada una de estas configuraciones ofrecen un diferente conjunto de servicios. La configuración “default” es la que utiliza si no se especifica otra cuando se pone en marcha el servidor. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 26. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración • minimal Tiene una configuración mínima de los servicios para arrancar JBoss. Inicia: • el servicio de registro • un servidor JNDI • un escáner de despliegue para buscar nuevos despliegues Lo usaríamos para utilizar JMX e iniciar nuestros propios servicios sin tecnologías Java EE No hay ningún contenidor web, tampoco EJBs, ni JMS • default Es una base del perfil del servidor de Java EE 5 que contiene un conjunto predeterminado de los servicios. Cuenta con los servicios más utilizados para desplegar una aplicación Java EE. No incluye el servicio de JAXR (Java API for XML Registries), o cualquiera de los servicios de clustering • all La configuración inicia todos los servicios disponibles. Esto incluye Web Services y los servicios de clustering, que no están cargados en la configuración ‘default’. • standard Es la configuración certificada de JavaEE 5 de todos los servicios. • web Es un contenedor web ligero orientado al perfil de Internet de JavaEE 6. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 27. Jboss AS 5.1.0 Instalación Getting Started Archivos de configuración Si queremos saber qué servicios están configurados en cada uno de estos casos de arranque de JBoss AS, las principales diferencias pueden encontrare en el directorio: • <JBoss_Home> / server / <instance-name> / deployers/ y también el despliegue de servicios en el directorio: • <JBoss_Home> / server/ <instance-name> / deploy • Comparemos los directorios de ‘default’ y ‘web’ César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 28. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 1 – Configuring Startup Scripts The first thing I did was to create a set of startup/shutdown scripts for JBoss Server. These were copied to the desktop so that it is easy to start or stop the JBoss instance. startjboss.cmd d: cd D:serverjboss-5.1.0.GAbin run.bat -b 0.0.0.0 stopjboss.cmd d: cd D:serverjboss-5.1.0.GAbin shutdown.bat -S As you can see both these scripts are actually calling default scripts provided in the JBoss’ bin folder. In the startup script the -b argument (binding ip) indicates the IP to which the server session is to be attached. 0.0.0.0 indicates that the server must be accessible from all ips including localhost (it binds the JBoss server to all ip addresses of server machine). If you don’t specify this, JBoss will be accessible only from 127.0.0.1. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 29. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 2 – Configuring JVM Memory Settings The run.bat file in the bin folder contains JVM parameters including memory configuration. In the production server, ensure that these values are correctly set. For example, the following sets the minimum and maximum heap size as 1GB. It is better to keep them identical for performance reasons. The actual heap size setting will depend on your application requirements and also on the RAM size of the server machine. set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m Also ensure that adequate permgen space is set. Permgen space is the fixed memory required such as the code footprint. For large applications the default value of 64m may not be sufficient. Following sets the permgen space to 512MB. set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=512m -XX:MaxPermSize=512m César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 30. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 3 – Changing Default HTTP Port to 80 The HTTP port for default JBoss installation is 8080. In production server, you will require this to be on port 80 (default HTTP port). If you are using HTTPS, you will need to change SSL port from 8443 to 443. Following files must be edited for this change. Look for the “Connector” tag with “port” attribute. (a) default/deploy/jboss-web.deployer/server.xml (b) default/deploy/http-invoker.sar/META-INF/jboss-service.xml (c) default/deployers/jbossweb.deployer/server.xml (d) default/deploy/jbossws.sar/jbossws.beans/META-INF/jbossbeans.xml César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 31. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 4 – Configuring Datasource Settings The datasource settings are stored in xml files under deploy folder of the server. For example, oracle-ds.xml is the configuration file I used in my application. This maps a connection setting to a JNDI name. The important parameters to configure are, min-pool-size – This is the initial number of connections kept open to database. max-pool-size – This is the maximum number of concurrent connections possible to the database. This value should be based on your application needs and also on the database configuration César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 32. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 5 – Configuring HTTP Connector Settings The underlying HTTP connector of JBoss needs to be fine tuned for production settings. The important parameters are, maxThreads – This indicates the maximum number of threads to be allocated for handling client HTTP requests. This figure corresponds to the concurrent users that are going to access the application. Depending on the machine configuration, there is a physical limit beyond which you will have to do clustering. acceptCount – This is the number of request threads that are put in request queue when all available threads are used. When this exceeds, client machines get a request timeout response. compression – If you set this attribute to “force”, the content will be compressed by JBoss and will be send to browser. Browser will extract it and display the page on screen. Enabling compression can substantially reduce bandwidth requirements of your application César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 33. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 6 – Configuring JSP Compilation Settings JBoss application server regularly checks whether a JSP requires compilation to a servlet before executing a JSP. In a production server, JSP files won’t change and hence you can configure the settings for increased performance. Open the web.xml in deploy/jboss-web.deployer/conf folder. Look for the jsp servlet in the file and modify the following XML fragment as given below <init-param> <param-name>development</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>checkInterval</param-name> <param-value>300</param-value> </init-param> César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 34. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 7 – Removing unwanted applications and services JBoss comes with a lot of services and your enterprise applications may not need all of them. Removing these unwanted services can boost application server performance. Following are some of the JBoss services you can remove if your application is not using them. Delete the files/folders given in brackets to remove these services completely (a) Home page server- (deploy/ROOT.war) (b) JMX Console server – (deploy/jmx-console.war) (c) Web Console server – (deploy/management) (d) Unique ID key generator - (deploy/uuid-key-generator.sar, lib/autonumber-plugin.jar) (e) HTTP Invoker service – (deploy/http-invoker.sar) (f) Quartz scheduler service – (deploy/quartz-ra.rar) (g) Mail service – (deploy/mail-service.xml, lib/mail*.jar) (h) Monitoring service – (deploy/monitoring-service.xml,lib/jboss-monitoring.jar) (i) Scheduler service – (deploy/scheduler-service.xml, deploy/schedule-manager-service.xml,lib/schedulerplugin*.jar) (j) Messaging (JMS) service – (deploy/messaging, deploy/jms-ds.xml, deploy/jms-ra.rar, lib/jboss-messaging*.jar) César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 35. Jboss AS 5.1.0 Instalación Getting Started Production Settings and Tuning Tips Configuring JBoss in a Production Server – Step by Step Guide Step 8 – Protecting Administration Console Applications Some of the default Web applications in JBoss are very useful in monitoring server status. For example the Web Console can give valuable information such as server memory status and active HTTP active connections. Please see the Web Console screenshot below (http://localhost/web-console/), Step 9 – Configuring Log4J Logging for Production The default logging configuration in JBoss is not suitable for production deployment. In production, you only want the errors to be logged. Open jboss-log4j.xml file in deploy/conf folder. First change the root category in the end to contain only FILE appender. This ensures that there is logging to the screen and all errors are only logged to a file César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 36. Jboss AS 5.1.0 Instalación Práctica: Consola JMX Editamos el fichero conf/jboss-service.xml, en el que si echamos un vistazo podremos ver varios servicios incluidos logging, security, JNDI, JNDIView, Log4j, etc. Vamos a comentar la entrada para el servicio JNDIView, y vemos como no aparece en la consola JMX <!-- Section 1 commented out <mbean code="org.jboss.naming.JNDIView" name="jboss:service=JNDIView" xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml"> --> <!-- The HANamingService service name --> <!-- Section two commented out <attribute name="HANamingService">jboss:service=HAJNDI</attribute></mbean> --> César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 37. Jboss AS 5.1.0 Instalación Práctica: Servicio Log4j El registro de Log está configurado por el fichero conf/jboss-log4j.xml. Por defecto los mensajes aparecen en la consola de arranque y en el fichero log/server.log Existen 6 tipos de niveles de Logging: TRACE, DEBUG, INFO, WARN, ERROR and FATAL Cambiaremos el nivel por DEBUG y revisaremos el log/server.log para ver que se producen muchos más detalles de registro César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 38. Jboss AS 5.1.0 Instalación Práctica: Servicio Log4j Tambien podremos enviar nuestros registros de Log del paquete org.jboss.ejb.plugins.cmp, a un fichero nuevo, llamado cmp.log, incluyendo las siguientes líneas de código en el fichero conf/jboss-log4j.xml <appender name="CMP" class="org.jboss.logging.appender.RollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> <param name="File" value="${jboss.server.home.dir}/log/cmp.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="org.jboss.ejb.plugins.cmp"> <priority value="DEBUG" /> <appender-ref ref="CMP"/> </category> César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 39. Jboss AS 5.1.0 Instalación Servicio de seguridad El ámbito de seguridad de la información se almacena en el fichero conf / login-config.xml como una lista de nombres de dominios de seguridad, cada uno de los cuales especifica una serie de módulos de inicio de sesión JAAS (Java Authentication and Authorization Service) que se utilizan para los propósitos de autenticación en ese dominio. Si examinamos todos los dominios de seguridad del fichero, podemos ver que carga la configuración de seguridad para la consola JMX, en el directorio props /jmx-console-roles-properties y jmx-console-users-properties Para protegerla, vamos a agregar un dominio de seguridad. Esto se puede hacer en el fichero jboss-web.xml para la consola JMX, que se encuentra en / jmx-console.war / WEBINF /. Eliminamos el comentario de seguridad de dominio de este archivo, como se muestra a continuación: César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 40. Jboss AS 5.1.0 Instalación Servicio de seguridad Editamos jboss-web.xml en el directorio deploy/jmx-console.war/WEB-INF/ <jboss-web> <security-domain>java:/jaas/jmx-console</security-domain> </jboss-web> Editamos web.xml en el directorio deploy/jmx-console.war/WEB-INF/ <!-A security constraint that restricts access to the HTML JMX console to users with the role JBossAdmin. Edit the roles to what you want and uncomment the WEB-INF/jboss-web.xml/security-domain element to enable secured access to the HTML JMX console. --> <security-constraint> <web-resource-collection> <web-resource-name>HtmlAdaptor</web-resource-name> <description> An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description> <url-pattern>/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>JBossAdmin</role-name> </auth-constraint> </security-constraint> César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 41. Jboss AS 5.1.0 Instalación Servicio de seguridad Añadiremos un usuario nuevo al que le otorgaremos permisos para entrar en la consola JMX • Lo configuraremos en los ficheros: • props /jmx-console-roles-properties Usuario=JbossAdmin • Props/ jmx-console-users-properties Usuario=Usuario César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 42. Jboss AS 5.1.0 Instalación Running as a Service under Microsoft Windows César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 43. Jboss AS 5.1.0 Instalación Antigua instalación: Problemas con Java.lang.OutofMemoryError Podemos configurar que el servidor se ejecute como un servicio bajo Microsoft Windows, y configurarlo para que se inicie automáticamente si se desea. Paso 1.- Download the JavaService 2.0.10 package from http://forge.objectweb.org/projects/javaservice/. Paso 2.- Descomprimimos el paquete y utilizamos el archivo JBossInstall.bat para instalar el servicio de JBoss. Debemos establecer el JAVA_HOME y variables de entorno JBOSS_HOME para apuntar a la JDK y JBoss, como directorios antes de ejecutar JBossInstall.bat. Paso 3.- Run JBossInstall.bat con la siguiente sintaxis: JBossInstall.bat <depends> [-auto | -manual] César Pajares – ECM /CMS Manager cesarpajares@gmail.com Cualquier servicio del que dependa Jboss AS Ej: mysql 19 Octubre 2009 Curso JBoss JB366
  • 44. Jboss AS 5.1.0 Instalación Instalación actual: JBossNative Windows En algunas versiones es necesario descargar Jboss Native de la siguiente dirección: http://labs.jboss.com/jbossweb/downloads/ Paso 1.- Instalación: descomprimimos e utilizamos el archivo service.bat C:> cd c:jboss-4.2.0bin C:> service.bat install Paso 3.- Revisamos en Panel de Control – Herramientas administrativas – Servicios, si ha instalado correctamente el servicio de arranque de JBoss Podemos ejecutar en consola lo siguiente: C:> net start JBAS50SVC C:> net stop JBAS50SVC César Pajares – ECM /CMS Manager http://www.jboss.org/community/wiki/RunJBossAsAServiceOnWindows cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 45. Jboss AS 5.1.0 Instalación GET JBOSS 5! http://www.jboss.org/jbossas/downloads Questions? César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366