看看Tomcat安装、配置、优化及负载均衡
一、常见JavaWeb服务器
1、WebLogic:是BEA公司的产品、WebSphereAS:是IBM公司的产品、JBossAS:红帽公司的产品,可以自行了解
2、Tomcat服务器:Sun公司在推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用java语言编写,所以tomcat的运行需要java的支持,所以要先安装JDK,才能运行。
目前是Apache开源软件组织的一个软件项目,它的官网 :
http://tomcat.apache.org
Tomcat得到了广大开源代码志愿者的大力支持,且可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。
二、Tomcat的目录结构及常用配置
1、Tomcat的目录层次结构
- bin:存放启动和关闭Tomcat的脚本文件
- conf:存放Tomcat服务器的各种配置文件
- lib:存放tomcat服务器支撑的jar包
- logs:存放Tomcat的日志文件
- temp:存放Tomcat运行时产生的临时文件
- webapps:web应用虽在目录,即供外界访问的web资源的存放目录
- work:Tomcat的工作目录
2、JavaWeb应用的组成结构
- mail---------------------------Web应用所在目录 |----html、jsp、css、js等文件,根目录下的文件外界可以直接访问 |----WEB-INF目录 |---------classes目录(java类) |---------lib目录(java类运行所需的jar包) |---------web.xml(web应用的配置文件) WEB-INF 这个目录下的文件外界无法直接访问,由web服务器负责调用
3、JavaWeb应用的发布
开放式目录方式:
打包war方式: 使用 Jar -cvf *.war .
4、Tomcat的组成结构
Tomcat本身由一系列可配置的组件构成,其中核心组件是Servlet容器组件,它是所有其他Tomcat组件的顶层容器。
每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。下面用XML的形式展示各种Tomcat组件之间的关系
- <Server>代表整个Servlet容器组件,是最顶层元素,可以包含一个或多个<Service>元素
- <Service>包含一个<Engine>元素以及一个或多个<Connector>元素,这些<Connector>共享一个<Engine>
- <Connector/>代表和客户程序实际交互的组件,负责接收客户请求,以及向客户返回响应
- <Engine>每个<Service>元素只能包含一个<Engine>元素,它处理在同一个<Service>中所有<Connector>接收到的客户请求
- <Host>在一个<Engine>中可以包含多个<Host>,它代表一个虚拟主机(即一个服务器程序可以部署在多个有不同IP的服务器主机上),它可以包含一个或多个应用
- <Context>使用最频繁的元素,代表了运行在虚拟主机上的单个web应用
- </Host>
- </Engine>
- </Service>
- </Server>
5、Tomcat体系结构

6、虚拟目录的映射方式
从Tomcat6开始,Tomcat支持自动映射,即tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录,换句话说,只需把web应用放在webapps目录下,不需要配置Context,外界可以直接访问。
但是如果你不想讲项目放在webapps下,而是放在其他地方,还是需要配置Context,比如我的tomcat在C盘,我的项目在D盘,则需要在Host下增加如下虚拟目录映射语句。
7、Context元素配置
tomcat在加载一个web应用时,会一次按照以下五种方式查找web应用中的元素,优先级一次降低,直到找到为止
- 到Tomcat安装目录/conf/Context.xml文件中查找元素。
- 到Tomcat安装录/conf/[enginename]/[hostname]/context.xml.default文件中查找元素。
- [enginename]:表示的name属性
- [hostname]:表示d的那么属性
- 到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找元素
- [contextpath]:表示单个Web应用的URL入口
- 到Web应用的META-INF/context.xml文件中查找元素
- 到Tomcat安装目录/conf/server.xml文件中查找元素。只适用于单个Web应用
8、将项目部署为Tomcat默认应用
即访问 http://localhost:8080 时出来的是tomcat自带的欢迎页面,改为登录到自己的项目主页。
方法一:
在Tomcat默认安装后,tomcat的主目录是webapps/root目录,所以如果想改变tomcat的主目录的话可以如下所做:
在/conf/server.xml文件的之间加入代码
- <Contextpath=""docBase="C:\tomcat7\webapps\myapp"reloadable="true"debug="0"></Context>
- <!--
- docBase改为自己需要的项目路径
- 如果建立了Apache和tomcat集群,Apache server 的默认端口是80 ,IE访问的方法只需输入:http://localhost,就可以自动定位到xx工程下面去
- -->
方法二:
将tomcat安装目录下的ROOT下的所有文件删除,换成自己项目的文件,此法有点暴力。
方法三:
Tomcat5.0以下版本在C:/Tomcat/conf/Catalina/localhost目录下会自动生成了一个ROOT.Xml,但是5.0以上版本不再生成此文件。
所以可以新建个ROOT.xml,在里面加入如下代码:
- <?Xml version=1.0 encoding=utf-8?>
- <ContextcrossContext="true"docBase="C:\tomcat7\webapps\myapp"path=""reloadable="true">
- </Context>
- <!--但是我自己在7.0版本上测试好像未成功,大家可以自己试试-->