You are on page 1of 33

TOMCAT

Miguel ngel Nieto <miguelangel@irontec.com> Irontec Internet y Sistemas sobre GNU/Linux

Irontec

omcat / !"oss

Tomcat

Tomcat es otro proyecto de la Apache Foundation Es un servidor Web con soporte de Servelts y JSPs http://tomcat.apache.org/

Suele utili arse en con!unto con Apache Web Server Tomcat est" escrito en Java# por lo $ue %unciona en cual$uier sistema operativo con m"$uina virtual

Irontec

omcat / !"oss

Servlets

&na de las %uncionalidades m"s comunes de un servlet es generar p"ginas 'eb din"micas Servlet deriva de applet. &n applet es un programa Java $ue se e!ecuta en el lado cliente. Servlet# por su parte# en el lado servidor (uestro servidor Tomcat# har" uso de los servlets $ue en el instalemos para generar p"ginas din"micas http://es.'i)ipedia.org/'i)i/Java*Servlet

Irontec

omcat / !"oss

Servlets

El ciclo de vida de un Servlet se divide en los siguiente puntos:


El cliente solicita una petici+n a un servidor v,a &-.. El servidor recibe la petici+n. Si es la primera# se utili a el motor de Servlets para cargarlo y se llama al m/todo init01. Si ya est" iniciado# cual$uier petici+n se convierte en un nuevo hilo. &n Servlet puede mane!ar m2ltiples peticiones de clientes. Se llama al m/todo service01 para procesar la petici+n devolviendo el resultado al cliente. 3uando se apaga el motor de un Servlet se llama al m/todo destroy01# $ue lo destruye y libera los recursos abiertos.
%

Irontec

omcat / !"oss

JSP

JSP es JavaServer Pages Es otra tecnolog,a Java $ue permite generar contenido din"mico 'eb 3on JSP podemos hacer lo mismo $ue un Servlet y viceversa JSP es una p"gina Web con eti$uetas especiales y c+digo Java incrustado# mientras $ue un servlet es un programa Java puro $ue recibe peticiones y genera a partir de ellas una p"gina 'eb

&

Irontec

omcat / !"oss

Instalacin

Para instalar Tomcat es necesario dos elementos b"sicos


Tomcat 4Java5

Eso es todo :1 6esde la 'eb o%icial es posible descargarse distintas versiones. En el momento de escribir este manual# la 2ltima versi+n es: 6.0.18

'

Irontec

omcat / !"oss

Instalacin

6escargamos la 2ltima versi+n y la descomprimimos Es posible descargar el binario 0precompilado1 o el c+digo %uente Para 7(&/.inu8 descargamos la version binaria en %ormato tar.g El %ichero# una ve descomprimido# nos crea una carpeta con todo lo necesario para %uncionar 3on esto ya tenemos el primero de los dos re$uisitos

Irontec

omcat / !"oss

Instalacin

6entro de la carpeta bin vemos dos scripts Startup arranca tomcat. Shutdown para tomcat Si lo e!ecutamos desde la consola podremos ver los mensa!es de error

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program

Irontec

omcat / !"oss

Instalacin

Es necesario instalar Java -untime Podemos hacerlo ba!ando la 2ltima versi+n de la 'eb de Sun o desde el gestor de pa$uetes de 7(&/.inu8 El nombre del pa$uete en cuesti+n es: sun-java5-jre

Irontec

omcat / !"oss

Instalacin
root@irontec des!top"#$ apt-get install sun-java5jre %e&endo lista de pa'uetes((( Hecho )reando *rbol de dependencias %e&endo la informaci+n de estado((( Hecho ,e instalar*n los siguientes pa'uetes e-tras" gsfonts -.. /ava common odbcinst.debian. sun /ava0 bin uni-odbc -utils dev 1a'uetes sugeridos" e'uivs sun /ava0 plugin ia23 sun /ava0 plugin sun /ava0 fonts libm&odbc odbc postgres'l libct. ,e instalar*n los siguientes pa'uetes N4EVO," gsfonts -.. /ava common odbcinst.debian. sun /ava0 bin sun /ava0 /re uni-odbc -utils dev 5 actuali6ados7 8 se instalar*n7 5 para eliminar & 5 no actuali6ados(
+,

Irontec

omcat / !"oss

Instalacin

&na ve instalado ya tenemos J-E y podemos arrancar Tomcat

irontec@irontec des!top"#9apache tomcat :(5(.;9bin< (9startup(sh 4sing )A=A%>NA_?A,E" 9home9irontec9apache tomcat :(5(.; 4sing )A=A%>NA_HOME" 9home9irontec9apache tomcat :(5(.; 4sing )A=A%>NA_=M1@>R" 9home9irontec9apache tomcat :(5(.;9temp 4sing JRE_HOME" 9usr

++

Irontec

omcat / !"oss

Tomcat

Tomcat por de%ecto estucha en los puertos:


9:9: 0puerto por de%ecto de Tomcat1 9::; 0puerto para apagar Tomcat1 9::< 0conector AJP1

Si entramos en http://direccion.ip:9:9: podremos ver la p"gina principal de Apache Tomcat :1 Ya tenemos Tomcat instalado!

+#

Irontec

omcat / !"oss

Tomcat

.os %icheros de Tomcat se encuentran en la carpeta con 3ambiad el puerto por de%ecto de 9:9: a 9= >ntentad entrar a la gesti+n del ?anager @Se puedeA Solucionadlo :1

+$

Irontec

omcat / !"oss

Tomcat

6esde la gesti+n del manager es posible desplegar nuevos Servlets Tambi/n es posible parar# arrancar los servlets implementados .os podemos descargar en nuestro ordenador personal y desplegarlos al servidor desde el navegador# sin necesidad de toca ni un solo %ichero de con%iguraci+n
http://tomcat.apache.org/tomcatBC.:Bdoc/appdev/sample/

+%

Irontec

omcat / !"oss

Tomcat

El conector de Apache con Tomcat nos permite unir las dos aplicaciones Podemos instalarlo desde el gestor de pa$uetes li!apache"-mod-j#

&na ve instalado ser" necesario habilitar el m+dulo

+&

Irontec

omcat / !"oss

Tomcat

Tomcat puede actuar por si solo como servidor 'eb Solemos unir Apache y Tomcat por temas de rendimiento. Apache es m"s rapido sirviendo p"ginas est"ticas $ue Tomcat. .a idea suele ser de!ar a Apache servir las est"ticas y Tomcat las din"micas .a union se hace mediante el m+dulo instalado anteriorment

+'

Irontec

omcat / !"oss

Tomcat

Dtras ra ones para usar Apache y Tomcat:

Apache puede actuar como %rontend para distintas instancias de Tomcat. Si un Tomcat se cae# Apache lo ignora y va a los siguientes Apache puede actuar de pro8y intermedio# de %orma $ue los usuarios solo tienen acceso a el y no acceso directo a Tomcat Apache soporta %acilmente 37>s# PEP# perl# etc. Apache dispone de muchos m"s modulos# como mod*auth # mod*re'rite# etc.

+(

Irontec

omcat / !"oss

Tomcat

3huleta r"pida:
http://tomcat.apache.org/connectorsBdoc/generic*ho'to/$uic).html

Es necesario crear un %ichero 'or)ers.properties &n Wor)er es una instancia de Tomcat $ue est" esperando para e!ecutar un servlet En el %ichero debemos de%inir las instancias a las $ue Apache tendr" acceso

+)

Irontec

omcat / !"oss

Tomcat

F 6e%ine = real 'or)er using a!p=G 'or)er.listH'or)er= F Set properties %or 'or)er= 0a!p=G1 'or)er.'or)er=.typeHa!p=G 'or)er.'or)er=.hostHlocalhost 'or)er.'or)er=.portH9::<

-esumiendo

El 'or)er se llama I'or)er=J Protocolo a!p versi+n =G Escucha en localhost Puerto 9::<
+*

Irontec

omcat / !"oss

Tomcat

Eay $ue decirle a apache donde se encuentra el %ichero de con%iguraci+n del 'or)er. En httpd.con% J)Wor)ersFile /etc/apacheK/'or)ers.properties J).ogFile /var/log/mod*!).log J).og.evel in%o J)?ount /e8amples/ 'or)er=

-esumiendo:

El 'or)er%ile est" en esa ruta .os logs van a /var/log 3ada ve $ue accedamos a /e8amples/ lo redirigr" al tomcat 'or)er=
#,

Irontec

omcat / !"oss

Tomcat

JL?ount se puede aplicar de %orma global# pero este no se replica en los MirtualEost $ue tenemos con%igurados. Apache suele traer un MirtualEost por de%ecto. Para $ue copie el JP?ount global se le debe indicar la directiva J)?ount3opy on

Se deber" poner en todos a$uellos MirtualEost $ue deseamos tener el J)?ount global D si no# J)?ount3opy all :6
#+

Irontec

omcat / !"oss

Tomcat
http://tomcat.apache.org/connectorsBdoc/generic*ho'to/'or)ers.html

http://tomcat.apache.org/connectorsBdoc/generic*ho'to/loadbalancers.html

http://tomcat.apache.org/connectorsBdoc/generic*ho'to/pro8y.html

http://tomcat.apache.org/connectorsBdoc/a!p/a!pv=Ga.html

##

Irontec

omcat / !"oss

Jboss

Jboss es el servidor de aplicaciones de -ed Eat# completamente implementado en Java. EJN/J?S http://'''.!boss.org/

Es completamente libre ?ultiplata%orma# all, donde tengamos m"$uina virtual 0y recursos su%icientes1 podremos tener Jboss

#$

Irontec

omcat / !"oss

Jboss

A di%erencia de Tomcat# $ue solo es un contenedor de Servlets# Jboss es un servidor de aplicaciones completo. Soporta la AP> de desarrollo de aplicaciones empresariales EJN http://es.'i)ipedia.org/'i)i/EJN Soporta J?S 0servicio de mensa!er,a Java1 http://es.'i)ipedia.org/'i)i/J?S

#%

Irontec

omcat / !"oss

Jboss

Jboss escucha tambi/n en el puerto 9:9:# por lo $ue habr" $ue tener cuidado si tenemos un pro8y# Dracle o Tomcat instalados .a instalaci+n es igual $ue Tomcat# descargar# descomprimir y usar Ser" necesario instalar el J6L de Sun http://'''.!boss.org/!bossas/do'nloads/

#&

Irontec

omcat / !"oss

Jboss

Jboss incluye Tomcat ;.;# por lo $ue el puerto 9::< estar" abierto Se recomienda no instalar Jboss y Tomcat separado# ya $ue estaremos instalando dos versiones de Tomcat $ue se pelear"n por los mismos puertos Para parar y arrancar Jboss tendremos los scripts run.sh y shutdo'n.sh

#'

Irontec

omcat / !"oss

Jboss

Por de%ecto Jboss solamente escucha en la inter%a loopbac) =KO.:.:.= Si lo $ue deseamos es $ue el servicio sea accesible desde %uera# ser" necesario arrancarlo escuchando en cual$uier inter%a .$run -! 0.0.0.0 (o suele ser necesario# ya $ue !boss o Tomcat suelen ser accedidos desde Apache. .a comunicaci+n es a trav/s de =KO.:.:.=

#(

Irontec

omcat / !"oss

Jboss

Jboss es completamente modular Esta %uncionalidad se la o%rece la AP> J?P 0Java ?anagement E8tension1 sobre la cual est" contruida Permite gestionar y monitori ar una gran variedad de componentes Jboss incluye una consola 'eb $ue permite interactuar con todos los m+dulos a golpe de rat+n http://es.'i)ipedia.org/'i)i/J?P

#)

Irontec

omcat / !"oss

Jboss

6entro de Jboss tenemos una serie de carpetas:


Nin 0scripts para controlar Jboos1 3lient 0librerias usadas por el cliente remoto1 6ocs 0documentaci+n1 .ib 0librerias base de Jboss1 Server 0servicios hospedados1

6e las carpetas mostradas anteriormente# las m"s importante ser"n Server y Nin

#*

Irontec

omcat / !"oss

Jboss

6entro de server tenemos distintas con%iguraciones


?inimal 0lo m,nimo para %uncionar# como logging y deployments1 6e%ault 0la con%iguraci+n por de%ecto# si no se especi%ica otra. .o mismo $ue minima# con opciones de seguridad# servicios de transacci+n# etc.1 Web 0lo necesario para servir aplicaciones 'eb1 All 0todo# todo y todo1

Si se desea crear una con%iguraci+n personali a# se pueden copiar una de esas carpetas con otro nombre y comen ar a personali arla Para indicar $ue server arrancar: run.sh Bc micon%iguraci+n
$,

Irontec

omcat / !"oss

Jboss

6entro de cada con%iguraci+n de servidor tenemos las siguientes carpetas:


3on% 0%icheros de con%iguraci+n1 6ata 0donde !boss guarda datos 6eploy 0a$u, ponemos nuestros componentes o aplicaciones. Se leen din"micamente1 .ib 0librerias re$ueridas para esta con%iguraci+n1 .og 0logs de esta con%iguraci+n1 Tmp 0almacenamiento de %icheros temporales1 Wor) 0para cacheo JSP1

$+

Irontec

omcat / !"oss

Jboss

Mamos a crear nuestra propia aplicaci+n para Jboss :1


http://'''.novell.com/coolsolutions/%eature/=Q<=K.html

3omo siempre# un hola mundo.

$#

Irontec

omcat / !"oss

Jboss

3omo Jboss usa por deba!o Tomcat ;.; en el puerto 9::<# la con%iguraci+n del conector es e8actamente igual 3on%igurad el EelloWorld para $ue sea accesible mediante Apache con el m+dulo JL.

$$

You might also like