SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
TOMCAT




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

                                                    Tomcat

●   Tomcat es otro proyecto de la Apache Foundation
●   Es un servidor Web con soporte de Servelts y JSPs

                 http://tomcat.apache.org/

●   Suele utilizarse en conjunto con Apache Web Server

●   Tomcat está escrito en Java, por lo que funciona en
    cualquier sistema operativo con máquina virtual




                                                              2
Irontec – Tomcat / JBoss

                                                    Servlets

●   Una de las funcionalidades más comunes de un
    servlet es generar páginas web dinámicas
●   Servlet deriva de applet. Un applet es un programa
    Java que se ejecuta en el lado cliente. Servlet, por
    su parte, en el lado servidor
●   Nuestro servidor Tomcat, hará uso de los servlets
    que en el instalemos para generar páginas
    dinámicas

          http://es.wikipedia.org/wiki/Java_Servlet




                                                               3
Irontec – Tomcat / JBoss

                                                            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 URL.
      –   El servidor recibe la petición.
      –   Si es la primera, se utiliza el motor de Servlets para
            cargarlo y se llama al método init().
      –   Si ya está iniciado, cualquier petición se convierte en un
            nuevo hilo. Un Servlet puede manejar múltiples
            peticiones de clientes.
      –   Se llama al método service() para procesar la petición
            devolviendo el resultado al cliente.
      –   Cuando se apaga el motor de un Servlet se llama al
            método destroy(), que lo destruye y libera los
            recursos abiertos.


                                                                       4
Irontec – Tomcat / JBoss

                                                         JSP

●   JSP es JavaServer Pages
●   Es otra tecnología Java que permite generar
    contenido dinámico web
●   Con JSP podemos hacer lo mismo que un Servlet y
    viceversa
●   JSP es una página Web con etiquetas especiales y
    código Java incrustado, mientras que un servlet es
    un programa Java puro que recibe peticiones y
    genera a partir de ellas una página web




                                                             5
Irontec – Tomcat / JBoss

                                              Instalación

●   Para instalar Tomcat es necesario dos elementos
    básicos
      –   Tomcat
      –   ¡Java!
●   Eso es todo :)
●   Desde la web oficial es posible descargarse distintas
    versiones. En el momento de escribir este manual,
    la última versión es:

    6.0.18




                                                              6
Irontec – Tomcat / JBoss

                                             Instalación

●   Descargamos la última versión y la descomprimimos
●   Es posible descargar el binario (precompilado) o el
    código fuente
●   Para GNU/Linux descargamos la version binaria en
    formato tar.gz
●   El fichero, una vez descomprimido, nos crea una
    carpeta con todo lo necesario para funcionar
●   Con esto ya tenemos el primero de los dos
    requisitos




                                                             7
Irontec – Tomcat / JBoss

                                             Instalación

●   Dentro de la carpeta bin vemos dos scripts
●   Startup arranca tomcat. Shutdown para tomcat
●   Si lo ejecutamos desde la consola podremos ver los
    mensajes 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




                                                             8
Irontec – Tomcat / JBoss

                                             Instalación

●   Es necesario instalar Java Runtime
●   Podemos hacerlo bajando la última versión de la
    web de Sun o desde el gestor de paquetes de
    GNU/Linux
●   El nombre del paquete en cuestión es:

                     sun-java5-jre




                                                             9
Irontec – Tomcat / JBoss

                                           Instalación

root@irontec-desktop:~# apt-get install sun-java5-
jre
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
  gsfonts-x11 java-common odbcinst1debian1 sun-
java5-bin unixodbc xutils-dev
Paquetes sugeridos:
  equivs sun-java5-plugin ia32-sun-java5-plugin sun-
java5-fonts libmyodbc odbc-postgresql libct1
Se instalarán los siguientes paquetes NUEVOS:
  gsfonts-x11 java-common odbcinst1debian1 sun-
java5-bin sun-java5-jre unixodbc xutils-dev
0 actualizados, 7 se instalarán, 0 para eliminar y 0
no actualizados.
                                                           10
Irontec – Tomcat / JBoss

                                              Instalación

●   Una vez instalado ya tenemos JRE y podemos
    arrancar Tomcat

irontec@irontec-desktop:~/apache-tomcat-6.0.18/bin$
./startup.sh
Using CATALINA_BASE:   /home/irontec/apache-tomcat-6.0.18
Using CATALINA_HOME:   /home/irontec/apache-tomcat-6.0.18
Using CATALINA_TMPDIR: /home/irontec/apache-tomcat-
6.0.18/temp
Using JRE_HOME:       /usr




                                                              11
Irontec – Tomcat / JBoss

                                                           Tomcat

●   Tomcat por defecto estucha en los puertos:
      –   8080 (puerto por defecto de Tomcat)
      –   8005 (puerto para apagar Tomcat)
      –   8009 (conector AJP)
●   Si entramos en http://direccion.ip:8080 podremos
    ver la página principal de Apache Tomcat :)

●   ¡Ya tenemos Tomcat instalado!




                                                                     12
Irontec – Tomcat / JBoss

                                                   Tomcat

●   Los ficheros de Tomcat se encuentran en la carpeta
    conf
●   Cambiad el puerto por defecto de 8080 a 81
●   Intentad entrar a la gestión del Manager ¿Se
    puede? Solucionadlo :)




                                                             13
Irontec – Tomcat / JBoss

                                                        Tomcat

●   Desde la gestión del manager es posible desplegar
    nuevos Servlets
●   También es posible parar, arrancar los servlets
    implementados
●   Los podemos descargar en nuestro ordenador
    personal y desplegarlos al servidor desde el
    navegador, sin necesidad de toca ni un solo fichero
    de configuración

      http://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/




                                                                  14
Irontec – Tomcat / JBoss

                                                    Tomcat

●   El conector de Apache con Tomcat nos permite unir
    las dos aplicaciones
●   Podemos instalarlo desde el gestor de paquetes

                    libapache2-mod-jk

●   Una vez instalado será necesario habilitar el módulo




                                                              15
Irontec – Tomcat / JBoss

                                                    Tomcat

●   Tomcat puede actuar por si solo como servidor web

●   Solemos unir Apache y Tomcat por temas de
    rendimiento. Apache es más rapido sirviendo
    páginas estáticas que Tomcat. La idea suele ser
    dejar a Apache servir las estáticas y Tomcat las
    dinámicas

●   La union se hace mediante el módulo instalado
    anteriorment




                                                              16
Irontec – Tomcat / JBoss

                                                           Tomcat

●   Otras razones para usar Apache y Tomcat:
      –   Apache puede actuar como frontend para distintas
            instancias de Tomcat. Si un Tomcat se cae, Apache
            lo ignora y va a los siguientes
      –   Apache puede actuar de proxy intermedio, de forma
            que los usuarios solo tienen acceso a el y no acceso
            directo a Tomcat
      –   Apache soporta facilmente CGIs, PHP, perl, etc.

      –   Apache dispone de muchos más modulos, como
            mod_authz, mod_rewrite, etc.




                                                                     17
Irontec – Tomcat / JBoss

                                                                 Tomcat

●   Chuleta rápida:
    http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
●   Es necesario crear un fichero workers.properties
●   Un Worker es una instancia de Tomcat que está
    esperando para ejecutar un servlet
●   En el fichero debemos definir las instancias a las
    que Apache tendrá acceso




                                                                           18
Irontec – Tomcat / JBoss

                                                    Tomcat

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

●   Resumiendo
      –   El worker se llama “worker1”
      –   Protocolo ajp versión 13
      –   Escucha en localhost
      –   Puerto 8009

                                                              19
Irontec – Tomcat / JBoss

                                                          Tomcat

●   Hay que decirle a apache donde se encuentra el
    fichero de configuración del worker. En httpd.conf

    JkWorkersFile /etc/apache2/workers.properties
    JkLogFile /var/log/mod_jk.log
    JkLogLevel info
    JkMount /examples/ worker1

●   Resumiendo:
      –   El workerfile está en esa ruta
      –   Los logs van a /var/log
      –   Cada vez que accedamos a /examples/ lo redirigrá al
            tomcat worker1
                                                                    20
Irontec – Tomcat / JBoss

                                                    Tomcat

●   JKMount se puede aplicar de forma global, pero
    este no se replica en los VirtualHost que tenemos
    configurados.
●   Apache suele traer un VirtualHost por defecto. Para
    que copie el JPMount global se le debe indicar la
    directiva

    JkMountCopy on

●   Se deberá poner en todos aquellos VirtualHost que
    deseamos tener el JkMount global
●   O si no, JkMountCopy all :D


                                                              21
Irontec – Tomcat / JBoss

                                                                  Tomcat

http://tomcat.apache.org/connectors-doc/generic_howto/workers.html



http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html



http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html



http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html




                                                                            22
Irontec – Tomcat / JBoss

                                                          Jboss

●   Jboss es el servidor de aplicaciones de Red Hat,
    completamente implementado en Java. EJB/JMS

                    http://www.jboss.org/

●   Es completamente libre

●   Multiplataforma, allí donde tengamos máquina
    virtual (y recursos suficientes) podremos tener
    Jboss




                                                                 23
Irontec – Tomcat / JBoss

                                                      Jboss

●   A diferencia de Tomcat, que solo es un contenedor
    de Servlets, Jboss es un servidor de aplicaciones
    completo.
●   Soporta la API de desarrollo de aplicaciones
    empresariales EJB
               http://es.wikipedia.org/wiki/EJB

●   Soporta JMS (servicio de mensajería Java)
              http://es.wikipedia.org/wiki/JMS




                                                             24
Irontec – Tomcat / JBoss

                                                     Jboss

●   Jboss escucha también en el puerto 8080, por lo
    que habrá que tener cuidado si tenemos un proxy,
    Oracle o Tomcat instalados
●   La instalación es igual que Tomcat, descargar,
    descomprimir y usar
●   Será necesario instalar el JDK de Sun

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




                                                            25
Irontec – Tomcat / JBoss

                                                       Jboss

●   Jboss incluye Tomcat 5.5, por lo que el puerto 8009
    estará abierto

●   Se recomienda no instalar Jboss y Tomcat
    separado, ya que estaremos instalando dos
    versiones de Tomcat que se pelearán por los
    mismos puertos

●   Para parar y arrancar Jboss tendremos los scripts
    run.sh y shutdown.sh




                                                              26
Irontec – Tomcat / JBoss

                                                      Jboss

●   Por defecto Jboss solamente escucha en la interfaz
    loopback 127.0.0.1

●   Si lo que deseamos es que el servicio sea accesible
    desde fuera, será necesario arrancarlo escuchando
    en cualquier interfaz

●   ./run -b 0.0.0.0

●   No suele ser necesario, ya que jboss o Tomcat
    suelen ser accedidos desde Apache. La
    comunicación es a través de 127.0.0.1


                                                             27
Irontec – Tomcat / JBoss

                                                       Jboss

●   Jboss es completamente modular
●   Esta funcionalidad se la ofrece la API JMX (Java
    Management Extension) sobre la cual está contruida
●   Permite gestionar y monitorizar una gran variedad
    de componentes
●   Jboss incluye una consola web que permite
    interactuar con todos los módulos a golpe de ratón

              http://es.wikipedia.org/wiki/JMX




                                                              28
Irontec – Tomcat / JBoss

                                                                Jboss

●   Dentro de Jboss tenemos una serie de carpetas:
      –   Bin (scripts para controlar Jboos)
      –   Client (librerias usadas por el cliente remoto)
      –   Docs (documentación)
      –   Lib (librerias base de Jboss)
      –   Server (servicios hospedados)

●   De las carpetas mostradas anteriormente, las más
    importante serán Server y Bin




                                                                       29
Irontec – Tomcat / JBoss

                                                                Jboss

●   Dentro de server tenemos distintas configuraciones
      –   Minimal (lo mínimo para funcionar, como logging y
            deployments)
      –   Default (la configuración por defecto, si no se especifica
            otra. Lo mismo que minima, con opciones de
            seguridad, servicios de transacción, etc.)
      –   Web (lo necesario para servir aplicaciones web)
      –   All (todo, todo y todo)
●   Si se desea crear una configuración personaliza, se
    pueden copiar una de esas carpetas con otro
    nombre y comenzar a personalizarla
●   Para indicar que server arrancar:
                 run.sh -c miconfiguración

                                                                       30
Irontec – Tomcat / JBoss

                                                               Jboss

●   Dentro de cada configuración de servidor tenemos
    las siguientes carpetas:
      –   Conf (ficheros de configuración)
      –   Data (donde jboss guarda datos
      –   Deploy (aquí ponemos nuestros componentes o
            aplicaciones. Se leen dinámicamente)
      –   Lib (librerias requeridas para esta configuración)
      –   Log (logs de esta configuración)
      –   Tmp (almacenamiento de ficheros temporales)
      –   Work (para cacheo JSP)




                                                                      31
Irontec – Tomcat / JBoss

                                                                   Jboss

●   Vamos a crear nuestra propia aplicación para
    Jboss :)

          http://www.novell.com/coolsolutions/feature/14912.html


●   Como siempre, un hola mundo.




                                                                         32
Irontec – Tomcat / JBoss

                                                      Jboss

●   Como Jboss usa por debajo Tomcat 5.5 en el puerto
    8009, la configuración del conector es exactamente
    igual

●   Configurad el HelloWorld para que sea accesible
    mediante Apache con el módulo JK.




                                                             33

Más contenido relacionado

La actualidad más candente

Professional ethics versi melayu
Professional ethics   versi melayuProfessional ethics   versi melayu
Professional ethics versi melayuSiti Zuraida Nasal
 
Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020
Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020
Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020HCY 7102
 
Laporan program qiamullail fasa 1
Laporan program qiamullail fasa 1Laporan program qiamullail fasa 1
Laporan program qiamullail fasa 1samttar
 
Teknik lompat kijang
Teknik lompat kijangTeknik lompat kijang
Teknik lompat kijangCikgu PJ
 
Carta alir urutan vs carta alir pilihan tunggal
Carta alir urutan vs carta alir pilihan tunggalCarta alir urutan vs carta alir pilihan tunggal
Carta alir urutan vs carta alir pilihan tunggalBazit Zit
 
1 pengenalan kecergasanl-tingkatan-4
1 pengenalan kecergasanl-tingkatan-41 pengenalan kecergasanl-tingkatan-4
1 pengenalan kecergasanl-tingkatan-4Mohamad Ihtifazuddin
 
Koordinasi dan ,kuasa
Koordinasi dan ,kuasaKoordinasi dan ,kuasa
Koordinasi dan ,kuasaZul Apen
 
Kertas kerja eksplorasi 1 malaysia
Kertas kerja eksplorasi 1 malaysiaKertas kerja eksplorasi 1 malaysia
Kertas kerja eksplorasi 1 malaysiaMarzuin Hamid
 
Daya tahan kardiovaskular
Daya tahan kardiovaskularDaya tahan kardiovaskular
Daya tahan kardiovaskularArafeh Karimi
 
Heat stress ( Stres Haba )
Heat stress ( Stres Haba ) Heat stress ( Stres Haba )
Heat stress ( Stres Haba ) Riina Richardson
 
Kepentingan kecergasan emosi
Kepentingan kecergasan emosiKepentingan kecergasan emosi
Kepentingan kecergasan emosiAmirul Faiz KOtt
 
Etika & integriti dlm perkhidmatan awam
Etika & integriti dlm perkhidmatan awamEtika & integriti dlm perkhidmatan awam
Etika & integriti dlm perkhidmatan awamhanifroslan
 
kaedah kawalan minda ( kkm)
kaedah kawalan minda ( kkm)kaedah kawalan minda ( kkm)
kaedah kawalan minda ( kkm)Azaman Muhammad
 
2_1Citizen_PUO_E celik
2_1Citizen_PUO_E celik2_1Citizen_PUO_E celik
2_1Citizen_PUO_E celikAzrul Junaidi
 
1. protokol dalam majlis rasmi
1. protokol  dalam majlis rasmi1. protokol  dalam majlis rasmi
1. protokol dalam majlis rasmiRabi'atul Adawiyah
 
Slide Power Point - Pengurusan Murid Pelbagai Upaya
Slide Power Point - Pengurusan Murid Pelbagai UpayaSlide Power Point - Pengurusan Murid Pelbagai Upaya
Slide Power Point - Pengurusan Murid Pelbagai Upayawidialiong
 
Agenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia Sejarah
Agenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia SejarahAgenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia Sejarah
Agenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia SejarahSherly Jewinly
 

La actualidad más candente (20)

Professional ethics versi melayu
Professional ethics   versi melayuProfessional ethics   versi melayu
Professional ethics versi melayu
 
Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020
Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020
Tips Pemakanan Pesakit Kencing Manis dan Darah Tinggi 2020
 
Laporan program qiamullail fasa 1
Laporan program qiamullail fasa 1Laporan program qiamullail fasa 1
Laporan program qiamullail fasa 1
 
Teknik lompat kijang
Teknik lompat kijangTeknik lompat kijang
Teknik lompat kijang
 
Carta alir urutan vs carta alir pilihan tunggal
Carta alir urutan vs carta alir pilihan tunggalCarta alir urutan vs carta alir pilihan tunggal
Carta alir urutan vs carta alir pilihan tunggal
 
1 pengenalan kecergasanl-tingkatan-4
1 pengenalan kecergasanl-tingkatan-41 pengenalan kecergasanl-tingkatan-4
1 pengenalan kecergasanl-tingkatan-4
 
Koordinasi dan ,kuasa
Koordinasi dan ,kuasaKoordinasi dan ,kuasa
Koordinasi dan ,kuasa
 
Kertas kerja eksplorasi 1 malaysia
Kertas kerja eksplorasi 1 malaysiaKertas kerja eksplorasi 1 malaysia
Kertas kerja eksplorasi 1 malaysia
 
Daya tahan kardiovaskular
Daya tahan kardiovaskularDaya tahan kardiovaskular
Daya tahan kardiovaskular
 
Heat stress ( Stres Haba )
Heat stress ( Stres Haba ) Heat stress ( Stres Haba )
Heat stress ( Stres Haba )
 
Kepentingan kecergasan emosi
Kepentingan kecergasan emosiKepentingan kecergasan emosi
Kepentingan kecergasan emosi
 
Etika & integriti dlm perkhidmatan awam
Etika & integriti dlm perkhidmatan awamEtika & integriti dlm perkhidmatan awam
Etika & integriti dlm perkhidmatan awam
 
kaedah kawalan minda ( kkm)
kaedah kawalan minda ( kkm)kaedah kawalan minda ( kkm)
kaedah kawalan minda ( kkm)
 
2_1Citizen_PUO_E celik
2_1Citizen_PUO_E celik2_1Citizen_PUO_E celik
2_1Citizen_PUO_E celik
 
1. protokol dalam majlis rasmi
1. protokol  dalam majlis rasmi1. protokol  dalam majlis rasmi
1. protokol dalam majlis rasmi
 
Slide Power Point - Pengurusan Murid Pelbagai Upaya
Slide Power Point - Pengurusan Murid Pelbagai UpayaSlide Power Point - Pengurusan Murid Pelbagai Upaya
Slide Power Point - Pengurusan Murid Pelbagai Upaya
 
Makan secara sihat
Makan secara sihatMakan secara sihat
Makan secara sihat
 
Modul Program Promosi Kesihatan
Modul Program Promosi Kesihatan Modul Program Promosi Kesihatan
Modul Program Promosi Kesihatan
 
Agenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia Sejarah
Agenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia SejarahAgenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia Sejarah
Agenda Mesyuarat dan Contoh Lengkap Catatan Minit Mesyuarat Panitia Sejarah
 
Etika di majlis rasmi
Etika di majlis rasmiEtika di majlis rasmi
Etika di majlis rasmi
 

Similar a Tomcat y Jboss

Similar a Tomcat y Jboss (20)

Tomcat
TomcatTomcat
Tomcat
 
Tomcat
TomcatTomcat
Tomcat
 
Servidor ubuntu(linux)
Servidor ubuntu(linux)Servidor ubuntu(linux)
Servidor ubuntu(linux)
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
09practicafinal
09practicafinal09practicafinal
09practicafinal
 
Tomcat
TomcatTomcat
Tomcat
 
12integracion de tomcat con apache
12integracion de tomcat con apache12integracion de tomcat con apache
12integracion de tomcat con apache
 
JSP
JSPJSP
JSP
 
Tomcat yant
Tomcat yantTomcat yant
Tomcat yant
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los Servlets
 
Como instalar tomcat_ubuntu
Como instalar tomcat_ubuntuComo instalar tomcat_ubuntu
Como instalar tomcat_ubuntu
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Agentes y servlets
Agentes y servletsAgentes y servlets
Agentes y servlets
 
Instalación de Apache Tomcat 8
Instalación de Apache Tomcat 8Instalación de Apache Tomcat 8
Instalación de Apache Tomcat 8
 
instalacion tomcat
instalacion tomcatinstalacion tomcat
instalacion tomcat
 
Instalación de Tomcat 7 en Linux y Windows
Instalación de Tomcat 7 en Linux y WindowsInstalación de Tomcat 7 en Linux y Windows
Instalación de Tomcat 7 en Linux y Windows
 
Configservers
ConfigserversConfigservers
Configservers
 
Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)
 
10practicafinal
10practicafinal10practicafinal
10practicafinal
 
Applet java
Applet javaApplet java
Applet java
 

Más de Miguel Angel Nieto (14)

Query planner
Query plannerQuery planner
Query planner
 
MySQL 5.6 GTID in a nutshell
MySQL 5.6 GTID in a nutshellMySQL 5.6 GTID in a nutshell
MySQL 5.6 GTID in a nutshell
 
MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - Cluster
 
Curso SMTP avanzado
Curso SMTP avanzadoCurso SMTP avanzado
Curso SMTP avanzado
 
Apache avanzado
Apache avanzadoApache avanzado
Apache avanzado
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 
Replicación Mysql
Replicación MysqlReplicación Mysql
Replicación Mysql
 
Curso SMTP
Curso SMTPCurso SMTP
Curso SMTP
 
Curso básico Linux
Curso básico LinuxCurso básico Linux
Curso básico Linux
 
Curso Squid avanzado
Curso Squid avanzadoCurso Squid avanzado
Curso Squid avanzado
 
Apache
ApacheApache
Apache
 
Nfs, Nis, DHCP
Nfs, Nis, DHCPNfs, Nis, DHCP
Nfs, Nis, DHCP
 
Monitorización
MonitorizaciónMonitorización
Monitorización
 
Administración Zimbra
Administración ZimbraAdministración Zimbra
Administración Zimbra
 

Último

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Tomcat y Jboss

  • 1. TOMCAT Miguel Ángel Nieto <miguelangel@irontec.com> Irontec – Internet y Sistemas sobre GNU/Linux
  • 2. Irontec – Tomcat / JBoss Tomcat ● Tomcat es otro proyecto de la Apache Foundation ● Es un servidor Web con soporte de Servelts y JSPs http://tomcat.apache.org/ ● Suele utilizarse en conjunto con Apache Web Server ● Tomcat está escrito en Java, por lo que funciona en cualquier sistema operativo con máquina virtual 2
  • 3. Irontec – Tomcat / JBoss Servlets ● Una de las funcionalidades más comunes de un servlet es generar páginas web dinámicas ● Servlet deriva de applet. Un applet es un programa Java que se ejecuta en el lado cliente. Servlet, por su parte, en el lado servidor ● Nuestro servidor Tomcat, hará uso de los servlets que en el instalemos para generar páginas dinámicas http://es.wikipedia.org/wiki/Java_Servlet 3
  • 4. Irontec – Tomcat / JBoss 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 URL. – El servidor recibe la petición. – Si es la primera, se utiliza el motor de Servlets para cargarlo y se llama al método init(). – Si ya está iniciado, cualquier petición se convierte en un nuevo hilo. Un Servlet puede manejar múltiples peticiones de clientes. – Se llama al método service() para procesar la petición devolviendo el resultado al cliente. – Cuando se apaga el motor de un Servlet se llama al método destroy(), que lo destruye y libera los recursos abiertos. 4
  • 5. Irontec – Tomcat / JBoss JSP ● JSP es JavaServer Pages ● Es otra tecnología Java que permite generar contenido dinámico web ● Con JSP podemos hacer lo mismo que un Servlet y viceversa ● JSP es una página Web con etiquetas especiales y código Java incrustado, mientras que un servlet es un programa Java puro que recibe peticiones y genera a partir de ellas una página web 5
  • 6. Irontec – Tomcat / JBoss Instalación ● Para instalar Tomcat es necesario dos elementos básicos – Tomcat – ¡Java! ● Eso es todo :) ● Desde la web oficial es posible descargarse distintas versiones. En el momento de escribir este manual, la última versión es: 6.0.18 6
  • 7. Irontec – Tomcat / JBoss Instalación ● Descargamos la última versión y la descomprimimos ● Es posible descargar el binario (precompilado) o el código fuente ● Para GNU/Linux descargamos la version binaria en formato tar.gz ● El fichero, una vez descomprimido, nos crea una carpeta con todo lo necesario para funcionar ● Con esto ya tenemos el primero de los dos requisitos 7
  • 8. Irontec – Tomcat / JBoss Instalación ● Dentro de la carpeta bin vemos dos scripts ● Startup arranca tomcat. Shutdown para tomcat ● Si lo ejecutamos desde la consola podremos ver los mensajes 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 8
  • 9. Irontec – Tomcat / JBoss Instalación ● Es necesario instalar Java Runtime ● Podemos hacerlo bajando la última versión de la web de Sun o desde el gestor de paquetes de GNU/Linux ● El nombre del paquete en cuestión es: sun-java5-jre 9
  • 10. Irontec – Tomcat / JBoss Instalación root@irontec-desktop:~# apt-get install sun-java5- jre Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes extras: gsfonts-x11 java-common odbcinst1debian1 sun- java5-bin unixodbc xutils-dev Paquetes sugeridos: equivs sun-java5-plugin ia32-sun-java5-plugin sun- java5-fonts libmyodbc odbc-postgresql libct1 Se instalarán los siguientes paquetes NUEVOS: gsfonts-x11 java-common odbcinst1debian1 sun- java5-bin sun-java5-jre unixodbc xutils-dev 0 actualizados, 7 se instalarán, 0 para eliminar y 0 no actualizados. 10
  • 11. Irontec – Tomcat / JBoss Instalación ● Una vez instalado ya tenemos JRE y podemos arrancar Tomcat irontec@irontec-desktop:~/apache-tomcat-6.0.18/bin$ ./startup.sh Using CATALINA_BASE: /home/irontec/apache-tomcat-6.0.18 Using CATALINA_HOME: /home/irontec/apache-tomcat-6.0.18 Using CATALINA_TMPDIR: /home/irontec/apache-tomcat- 6.0.18/temp Using JRE_HOME: /usr 11
  • 12. Irontec – Tomcat / JBoss Tomcat ● Tomcat por defecto estucha en los puertos: – 8080 (puerto por defecto de Tomcat) – 8005 (puerto para apagar Tomcat) – 8009 (conector AJP) ● Si entramos en http://direccion.ip:8080 podremos ver la página principal de Apache Tomcat :) ● ¡Ya tenemos Tomcat instalado! 12
  • 13. Irontec – Tomcat / JBoss Tomcat ● Los ficheros de Tomcat se encuentran en la carpeta conf ● Cambiad el puerto por defecto de 8080 a 81 ● Intentad entrar a la gestión del Manager ¿Se puede? Solucionadlo :) 13
  • 14. Irontec – Tomcat / JBoss Tomcat ● Desde la gestión del manager es posible desplegar nuevos Servlets ● También es posible parar, arrancar los servlets implementados ● Los podemos descargar en nuestro ordenador personal y desplegarlos al servidor desde el navegador, sin necesidad de toca ni un solo fichero de configuración http://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/ 14
  • 15. Irontec – Tomcat / JBoss Tomcat ● El conector de Apache con Tomcat nos permite unir las dos aplicaciones ● Podemos instalarlo desde el gestor de paquetes libapache2-mod-jk ● Una vez instalado será necesario habilitar el módulo 15
  • 16. Irontec – Tomcat / JBoss Tomcat ● Tomcat puede actuar por si solo como servidor web ● Solemos unir Apache y Tomcat por temas de rendimiento. Apache es más rapido sirviendo páginas estáticas que Tomcat. La idea suele ser dejar a Apache servir las estáticas y Tomcat las dinámicas ● La union se hace mediante el módulo instalado anteriorment 16
  • 17. Irontec – Tomcat / JBoss Tomcat ● Otras razones para usar Apache y Tomcat: – Apache puede actuar como frontend para distintas instancias de Tomcat. Si un Tomcat se cae, Apache lo ignora y va a los siguientes – Apache puede actuar de proxy intermedio, de forma que los usuarios solo tienen acceso a el y no acceso directo a Tomcat – Apache soporta facilmente CGIs, PHP, perl, etc. – Apache dispone de muchos más modulos, como mod_authz, mod_rewrite, etc. 17
  • 18. Irontec – Tomcat / JBoss Tomcat ● Chuleta rápida: http://tomcat.apache.org/connectors-doc/generic_howto/quick.html ● Es necesario crear un fichero workers.properties ● Un Worker es una instancia de Tomcat que está esperando para ejecutar un servlet ● En el fichero debemos definir las instancias a las que Apache tendrá acceso 18
  • 19. Irontec – Tomcat / JBoss Tomcat # Define 1 real worker using ajp13 worker.list=worker1 # Set properties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 ● Resumiendo – El worker se llama “worker1” – Protocolo ajp versión 13 – Escucha en localhost – Puerto 8009 19
  • 20. Irontec – Tomcat / JBoss Tomcat ● Hay que decirle a apache donde se encuentra el fichero de configuración del worker. En httpd.conf JkWorkersFile /etc/apache2/workers.properties JkLogFile /var/log/mod_jk.log JkLogLevel info JkMount /examples/ worker1 ● Resumiendo: – El workerfile está en esa ruta – Los logs van a /var/log – Cada vez que accedamos a /examples/ lo redirigrá al tomcat worker1 20
  • 21. Irontec – Tomcat / JBoss Tomcat ● JKMount se puede aplicar de forma global, pero este no se replica en los VirtualHost que tenemos configurados. ● Apache suele traer un VirtualHost por defecto. Para que copie el JPMount global se le debe indicar la directiva JkMountCopy on ● Se deberá poner en todos aquellos VirtualHost que deseamos tener el JkMount global ● O si no, JkMountCopy all :D 21
  • 22. Irontec – Tomcat / JBoss Tomcat http://tomcat.apache.org/connectors-doc/generic_howto/workers.html http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html 22
  • 23. Irontec – Tomcat / JBoss Jboss ● Jboss es el servidor de aplicaciones de Red Hat, completamente implementado en Java. EJB/JMS http://www.jboss.org/ ● Es completamente libre ● Multiplataforma, allí donde tengamos máquina virtual (y recursos suficientes) podremos tener Jboss 23
  • 24. Irontec – Tomcat / JBoss Jboss ● A diferencia de Tomcat, que solo es un contenedor de Servlets, Jboss es un servidor de aplicaciones completo. ● Soporta la API de desarrollo de aplicaciones empresariales EJB http://es.wikipedia.org/wiki/EJB ● Soporta JMS (servicio de mensajería Java) http://es.wikipedia.org/wiki/JMS 24
  • 25. Irontec – Tomcat / JBoss Jboss ● Jboss escucha también en el puerto 8080, por lo que habrá que tener cuidado si tenemos un proxy, Oracle o Tomcat instalados ● La instalación es igual que Tomcat, descargar, descomprimir y usar ● Será necesario instalar el JDK de Sun http://www.jboss.org/jbossas/downloads/ 25
  • 26. Irontec – Tomcat / JBoss Jboss ● Jboss incluye Tomcat 5.5, por lo que el puerto 8009 estará abierto ● Se recomienda no instalar Jboss y Tomcat separado, ya que estaremos instalando dos versiones de Tomcat que se pelearán por los mismos puertos ● Para parar y arrancar Jboss tendremos los scripts run.sh y shutdown.sh 26
  • 27. Irontec – Tomcat / JBoss Jboss ● Por defecto Jboss solamente escucha en la interfaz loopback 127.0.0.1 ● Si lo que deseamos es que el servicio sea accesible desde fuera, será necesario arrancarlo escuchando en cualquier interfaz ● ./run -b 0.0.0.0 ● No suele ser necesario, ya que jboss o Tomcat suelen ser accedidos desde Apache. La comunicación es a través de 127.0.0.1 27
  • 28. Irontec – Tomcat / JBoss Jboss ● Jboss es completamente modular ● Esta funcionalidad se la ofrece la API JMX (Java Management Extension) sobre la cual está contruida ● Permite gestionar y monitorizar una gran variedad de componentes ● Jboss incluye una consola web que permite interactuar con todos los módulos a golpe de ratón http://es.wikipedia.org/wiki/JMX 28
  • 29. Irontec – Tomcat / JBoss Jboss ● Dentro de Jboss tenemos una serie de carpetas: – Bin (scripts para controlar Jboos) – Client (librerias usadas por el cliente remoto) – Docs (documentación) – Lib (librerias base de Jboss) – Server (servicios hospedados) ● De las carpetas mostradas anteriormente, las más importante serán Server y Bin 29
  • 30. Irontec – Tomcat / JBoss Jboss ● Dentro de server tenemos distintas configuraciones – Minimal (lo mínimo para funcionar, como logging y deployments) – Default (la configuración por defecto, si no se especifica otra. Lo mismo que minima, con opciones de seguridad, servicios de transacción, etc.) – Web (lo necesario para servir aplicaciones web) – All (todo, todo y todo) ● Si se desea crear una configuración personaliza, se pueden copiar una de esas carpetas con otro nombre y comenzar a personalizarla ● Para indicar que server arrancar: run.sh -c miconfiguración 30
  • 31. Irontec – Tomcat / JBoss Jboss ● Dentro de cada configuración de servidor tenemos las siguientes carpetas: – Conf (ficheros de configuración) – Data (donde jboss guarda datos – Deploy (aquí ponemos nuestros componentes o aplicaciones. Se leen dinámicamente) – Lib (librerias requeridas para esta configuración) – Log (logs de esta configuración) – Tmp (almacenamiento de ficheros temporales) – Work (para cacheo JSP) 31
  • 32. Irontec – Tomcat / JBoss Jboss ● Vamos a crear nuestra propia aplicación para Jboss :) http://www.novell.com/coolsolutions/feature/14912.html ● Como siempre, un hola mundo. 32
  • 33. Irontec – Tomcat / JBoss Jboss ● Como Jboss usa por debajo Tomcat 5.5 en el puerto 8009, la configuración del conector es exactamente igual ● Configurad el HelloWorld para que sea accesible mediante Apache con el módulo JK. 33