Tomcat: Tomcat系列之组件详解及服务安装配置

来源:互联网 发布:mac自带词典词库下载 编辑:程序博客网 时间:2024/05/17 06:44

Tomcat系列之组件详解及服务安装配置


Servlet是一种CGI技术,任何程序的修改都会重新编译。

引进jsp, 是得java可以嵌套到html中,jasper可以将

Jsp装成java,依赖servletcontainer。

 

Engine: 就是一个servlet container的实现,一个server可以有多个engine,

所以必须有一个组件把server和engine连接起来,这就connector.

Connector有很多种。

Connector: 一个server有多个engine,server怎么判断接受到的请求发送那个engine呢?所以,需要连接器,负责连接server和engine, 有http连接器,jpa连接器

Tomcat内部有一个web服务器,可以功能在在80端口;

Servlet contianer具有servlet功能的JVM

Service:  一个server可以通过多个连接器(http,jps)关联到同一个engine,同时一个又可以有多个引擎,那怎么定义一个server关联到engine?service出现的主要

目的就是讲server通过

主要目的将一个或者多个连接器关联到某engine,一个service内部最多只能

有一个引擎。

Server: 每一个server就是一个tomcat的实例,server解码http请求,

方向用户请求的是http请求的页面,需要调用jasper,这些都是

有Engine完成。




Server是顶级组件。

Service:普通组件,关联conector到engine

Engine: 容器组件,能解码jasper和执行servlet的

Host: 容器组件,在engine内部实现虚拟主机的,一个engine可以

有多个虚拟主机,必须指定一个默认主机

Context: 容器类组件,context定义在host, 每一个context都可以

部署一个程序的,描述程序怎么部署

 

容器组件:Engine,Host,Context

顶级组件:Server,service

 

Realm: 用户账户数据库

Valva: 领域,说白就是一个数据库,能实现数据库的认证,

基于访问日志可以用valva实现,基于IP认证可以用valva实现



Tomcat还有更多的其他组件:

Tomcat.xml

Apache的mod_proxy和mod_jk都可以实现反向代理,

都支持支持集群。

Mod_proxy: 能以二进制方式发往后方(使用ajp协议),这是

使用apache的好处,效率高,但Nginx只能使用http请求的方式。

 

 

 

Nginx: 以http请求发送到后方(使用http协议),自己实现

某种算法,分发请求;也可以实现动静分离。

 

Apache和tomcat实现负载均衡,apache要工作在

反向代理模式,apache可以根据流量,后端服务器的

健康状况来转发,并通过web接口提供页面启用和禁用

服务器。

 

Server.xml配置解释:

Tomcat各组件间的关系:

<server>

      <service>

             <conector />

      <Engine>

           <host>

                                  <context></context>

           </host>

     </Engine>

  <service>

</server>

先配置好JDK、

Tomcat是javax写的

Tomcat目录结构:

/bin: 自带命令,catalina.sh(核心脚本)

/conf: 配置文件,

tomcat启动会读入tomcat_users.xml,完成用户认证

      Web.xml默认应用程序部署描述符

      部署:将一个web应用程序依赖的类装载进JVM

      Context.xml: 为上下文提供的描述文件

      Catalina.propeties定义tomcat自身的属性

      Loging.properties定义日志配置属性

      Catalina.policy定义tomcat自身的安全策略的,定义哪些资源可以通过互联网被访问

      通常修改的文件只有xml.

Vim server.conf //用vim可以语法着色的

声明tomcat的目录:

Export CATALINA_HOME=/usr/local/tomcat

要永久有效:

Vim /etc/profile.d/tomcat.sh

Export CATALINA_HOME=/usr/local/tomcat

Export  PATH=$PATH:$CATALINA_HOME/bin

 

Catalina.sh version

Catalina.sh start //启动

 

Netstat –tnlp  //查看端口是否被监听

 

/lib  依赖库,jasper.jar, servlet-api.jar

/logs 访问日志

     Catalina.out//正在使用的文件

 

/temp 临时文件目录

/webapp 应用程序目录

/work 工作目录,每一个engine都有自己独立目录,在这个engine下每一个主机

都有自己的工作目录,每个主机下每个应用程序都有自己目录(每一个JSP要转成java,java又要转成class,这就是工作区间)

 

可以启动写一个简单的脚本,用来启动tomcat:

Vim /etc/rc.d/init.d/tomcat

//此处写启动tomcat脚本

 

Chmod  +x/etc/rc.d/init.d/tomcat

Chkconfig   --add tomcat

Chkconfig   --list tomcat

Service tomcat stop

Service tomcat start

 

检测tomcat配置是否有错:

#Service tomcat configtest

 



0 0
原创粉丝点击