JBoss

De Guía Ubuntu
Saltar a: navegación, buscar

JBoss es un servidor de aplicaciones Open Source bastante popular en el mundo empresarial. Tiene una calidad y rendimientos realmente buenos. Valiéndose de la flexibilidad de Eclipse, han creado una versión específica para desarrollar con JBoss llamada JBoss Eclipse IDE. Como siempre es tan sencilla de instalar como todas.

Instalación

El paquete con el servidor de aplicaciones lo podemos bajar de JBoss Application Server Downloads y es necesario tener instalado Java para que funcione. Crearemos el fichero /etc/init.d/jboss:

$ sudo vim /etc/init.d/jboss

Con este contenido:

<bash>

  1. ! /bin/sh
  2. /etc/init.d/jboss: Start and stop JBoss AS

ECHO=/bin/echo TEST=/usr/bin/test JBOSS_START_SCRIPT=/usr/local/jboss-4.0.3SP1/bin/run.sh JBOSS_STOP_SCRIPT=/usr/local/jboss-4.0.3SP1/bin/shutdown.sh

$TEST -x $JBOSS_START_SCRIPT || exit 0 $TEST -x $JBOSS_STOP_SCRIPT || exit 0

start() {

     $ECHO -n "Starting JBoss"
     su - jboss -c "$JBOSS_START_SCRIPT > /dev/null 2> /dev/null &"
     $ECHO "."

}

stop() {

     $ECHO -n "Stopping JBoss"
     su - jboss -c "$JBOSS_STOP_SCRIPT -S > /dev/null &"
     $ECHO "."

}

case "$1" in

     start)
           start
           ;;
     stop)
           stop
           ;;
     restart)
           stop
           sleep 30
           start
           ;;
     *)
           $ECHO "Usage: jboss {start|stop|restart}"
           exit 1

esac

exit 0 </bash>

Y lo hacemos ejecutable:

$ sudo chmod 755 /etc/init.d/jboss

Utilizaremos este script para levantar y tirar el servidor. Puedes ver en un momento dado si está ejecutándose.

Ahora nos resta actualizar los run levels

 
$ sudo update-rc.d jboss defaults
Adding system startup for /etc/init.d/jboss ...
   /etc/rc0.d/K20jboss -> ../init.d/jboss
   /etc/rc1.d/K20jboss -> ../init.d/jboss
   /etc/rc6.d/K20jboss -> ../init.d/jboss
   /etc/rc2.d/S20jboss -> ../init.d/jboss
   /etc/rc3.d/S20jboss -> ../init.d/jboss
   /etc/rc4.d/S20jboss -> ../init.d/jboss
   /etc/rc5.d/S20jboss -> ../init.d/jboss

Integración con Apache

Se puede dar el caso en el que usemos JBoss y Apache en una misma máquina. JBoss usa por defecto el puerto 8080 y Apache el estándar web 80. Podemos hacer que determinadas páginas las sirva JBoss a través de Apache con lo que estarán accesibles a través del puerto 80. También es útil por el tema de las estadísticas: hay muchas aplicaciones que generan estadísticas a partir de los logs de Apache. Y bueno, Apache tiene miles de opciones de configuración que nos resolverán cualquier situación en la que nos veamos envueltos.

La pieza que une JBoss con Apache es un módulo llamado mod_jk. Se encuentra en el paquete libapache2-mod-jk2, si estamos usando Apache 2 o en el paquete libapache-mod-jk si usamos Apache 1.3.

Creamos el fichero /etc/apache2/workers2.properties donde irá la configuración del módulo:

#
# This is the minimal JK2 connector configuration file.
# 

[logger]
level=ERROR

[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009

# myWebApp
[uri:/myWebApp]
[uri:/myWebApp/*]

Luego editas el fichero /etc/apache2/mods-available/jk2.conf y descomentas la última línea para que quede así:

# To enable mod_jk2, customize workers2.properties* from
# /usr/share/doc/libapache2-mod-jk2/examples and copy it to
# /etc/apache2/workers2.properties. Then uncomment the following line:
JkSet config.file /etc/apache2/workers2.properties

Una vez hechas estas modificaciones hay que decirle a Apache que actualice la configuración:

$ sudo /etc/init.d/apache2 reload

Ver también

Enlaces externos