(若有不足或错误之处还请多指导)
Tomcat 简介
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache-Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。
Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O'Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。
Tomcat提供了一个Jasper编译器用以将JSP编译成对应的Servlet。
Tomcat的Servlet引擎通常与Apache或者其他Web服务器一起工作。
由于Tomcat是使用Java开发的,所以它可以运行在任何一个装有JVM的不同操作系统之上。
Tomcat的逻辑组件
http://blog.运维网.com/attachment/201210/214350612.png
. Server是Tomcat的一个实例,一个Server可以有多个service
. Connector (连接器,可以有多个) : 为了连接不同的请求,会有不同的连接器,如: http connection ,https connection ,AJP连接器(Apache Jesery Protocol) 实现apache 与 Tomcat 通信连接的
. Service 让Server的Connector 与引擎关联起来
1. 是Server的一个子组件
2. 关联一个或多个 Connector到某个Engine
3. 一个Service内部只能有一个引擎,一个引擎可以关联多个Connector
. 一个引擎就是一个Container(容器) 也就是一个独立的web运行环境
1. 可以包含多个Host
2. 但要有一个默认的Host(虚拟主机)
. Host
1. 是引擎的子组件
2. 可以包含多个Context
3. 每个Context对应于一个Web应用程序,而每一个Web应用程序需要至少一个web.xml(部署描述符文件)
. Context:上下文
每一个独立的主机可以包含多个Context
额外的组件 :
valve : 阀门, 能够定义在容器内部,实现将具有某些特征的数据包或报文,对其归类采取一定动作的工具
Realm : 领域 能够定义在容器内部,为某一个应用程序提供用户认证的机制, 用户在访问这个容器时,是需要认证的
关于Tomcat各组件的详细信息可以参考这篇文章 :http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/index.html
Tomcat的目录结构 (默认是在/usr/local/ 下)
bin/
.bat 是在windows上执行的脚本
.sh 是在linux上执行的脚本
bootstrap.jar
commons-daemon-native.tar.gz
tomcat-native.tar.gz 或者需要解压出来自己重新编译安装,依赖于apr 和apr-utils,让tomcat支持apr连接器
conf/
server.xml 当前Tomcat的主配置文件
web.xml 应用程序的布署描述符文件
context.xml
tomcat-user.xml 启用用户认证时用到的文件(定义用户的帐号、角色、密码)
catalina.policy 引擎策略 ,施加到catalina引擎上的安全策略, 在启动的时候指定 -security 选项
catalina.properties 运行时候的属性
lib/ 公共类
catalina.jar catalina引擎的实现(catalina是tomcat的引擎)
servlet-api.jar 让tomcat成为servlet容器的一个jar文件
temp/
webapps/ 网页文件存放的默认路径
host-manager/ 虚拟主机定义和管理,基于web的管理接口,可以通过web管理tomcat
manager/ 布署工具和会话管理工具
ROOT/ 直接被访问的网页文件存放路径
work/ jsp或tomcat 的工作目录
**************************************************************************
/bin/version.sh 查看tomcat的环境变量及相关属性信息 CATALINA_BASE tomcat 实例的运行目录
在同一个系统上可以启动多个 tomcat 进程,每个tomcat进程称之为一个tomcat的 instance(实例)
配置tomcat的连接器,让不同的实例使用不同的端口提供服务
不同实例的运行目录不同,都要有自己的工作目录,配置文件都在实例的运行目录下,每一个实例都要有自己的工作环境
CATALINA_HOME tomcat软件的默认安装路径
CATALINA_TMPDIR
/bin/configtest.sh 检查配置
/bin/catalina.sh 可以调用其它的脚本 version/configtest/start
**************************************************************************
以下三个端口都在 server.xml 文件中定义
8005 控制sever的一个telnet的控制远程连接口 eg: # telnet 127.0.0.1 8005; SHUTDOWN
8009 连接器所监听的端口 AJP协议只可以接受前端apache服务器的请求
8080 连接器所监听的端口 HTTP协议可以接受用户的请求
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com