JBoss
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>
- ! /bin/sh
- /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
- Hibernate plugin (en inglés)
- Old JK/JK2 documentation archive (en inglés)
- Connecting Apache and Helma via mod_jk (AJP13) (en inglés)
- Tomcat FAQ - Connectors (en inglés)