Introducción al componente Tomcat
Título: Introducción a los componentes de Tomcat
Fecha: 2020/05/06 17:19
Primero, presentemos brevemente cada componente de Tomcat; de lo contrario, no lo hará. entiéndalo más tarde
conf/server.xml
Según la propia clasificación de Tomcat, estos elementos se pueden dividir en cuatro tipos:
Un Tomcat tiene solo uno. Server.xmlEs decir, una instancia de Tomcat tiene un solo servidor. Estos elementos se pueden dividir en cuatro tipos:
Un Tomcat tiene solo un Server.xml, es decir, una instancia de Tomcat tiene solo un Servidor.
No es un contenedor; simplemente actúa como un envoltorio.
Representa la propia instancia de Tomcat.
El servidor tiene muy pocas propiedades configurables. Según la configuración predeterminada extraída anteriormente, el servidor escucha en el puerto TCP 8005 en localhost y apaga Tomcat cuando recibe la cadena "SHUTDOWN".
El servidor tiene dos componentes únicos: GlobalNamingResources y Service.
Además de esto, también puede haber componentes Listener, que pueden actuar sobre el contenedor en diferentes niveles.
Representa toda la instancia de Tomcat, por lo que también es responsable de escuchar las solicitudes de SHUTDOWN.
Es un componente de nivel superior que rodea a múltiples componentes de servicio debajo de él.
Un servicio es un servicio completo que se encarga de encapsular múltiples conectores y un motor. Además, se puede configurar un servicio con un Ejecutor (un grupo de subprocesos muy disfrutado) para administrar la cantidad de subprocesos para todos los conectores.
Como se muestra en la figura, el Servicio tiene tres componentes: Ejecutor, Conector y Motor. Cada conector es responsable de escuchar un puerto TCP, recibir solicitudes y reenviar las solicitudes al motor vinculado, y luego el motor devuelve los resultados al cliente a través del conector. Después de configurar un Ejecutor, todos los subprocesos del Conector son administrados por el Ejecutor.
La función del Ejecutor es asociar múltiples conectores con instancias de contenedor para que el mismo contenedor pueda usarse para manejar solicitudes de diferentes protocolos.
El motor es el motor de procesamiento de solicitudes del servicio, responsable de procesar todas las solicitudes del conector y devolver los resultados del procesamiento interno al conector.
Engine.name - el nombre del motor
Engine.defaultHost - qué subcontenedor Host se utiliza de forma predeterminada para manejar las solicitudes
La función del El motor es poder utilizar el conector para recibir solicitudes y asignarlo a diferentes dominios
El host es un host virtual correspondiente a uno o más dominios.
Host.name - nombre de host (nombre de dominio)
La configuración predeterminada define un host llamado localhost. Al menos el nombre de un host debe coincidir con el host predeterminado del motor.
Además del nombre de dominio, Host también puede configurar alias a través de alias de subnodo. Un alias tiene el mismo propósito que un nombre de dominio.
Por ejemplo:
El mecanismo se muestra a continuación:
Host.appBase - el directorio raíz del host virtual
Host.unpackWARs - el WAR colocado en el directorio webapps Si el archivo debe descomprimirse
Host.autoDeploy: si se debe implementar automáticamente la aplicación en el directorio webapps
El contexto representa el directorio virtual bajo el Host. recargable: si se admite la implementación en caliente
Si es verdadero, Tomcat detectará automáticamente los cambios en los directorios /WEB-INF/lib y /WEB-INF/classes de la aplicación y recargará los archivos de clases a través del cargador de clases, por lo que que se puede volver a implementar sin reiniciar Tomcat.
Context.crossContext--Si diferentes contextos ****disfrutan de las sesiones
Como se mencionó al principio, un conector es un enchufe en la pared que escucha un puerto TCP específico, Y maneja la interacción entre el motor y el cliente a través de este puerto. La configuración predeterminada define dos conectores:
Válvula significa válvula en chino y puede entenderse simplemente como el interceptor de Tomcat. Es responsable de interceptar las solicitudes HTTP antes de que se envíen a la aplicación y puede definirse en cualquier contenedor. La configuración predeterminada define un AccessLogValve que intercepta las solicitudes HTTP y las escribe en un archivo de registro.
Un oyente es un oyente responsable de monitorear el comportamiento del lado del servidor. Aquí necesita información sobre dos oyentes:
La dirección de solicitud es: /mzdbxqh