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

3,493 views

Published on

JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
Instalación, configuración e implementación

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,493
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
180
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×