1、Tomcat
Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目。软件是开源的,但是需要JDK的支持,因此在下载Tomcat应先确保已正确安装JDK。常见的Java Web服务器还有:
- 1.WebLogic
- 2.WebSphere
- 3.IIS
2.Tomcat安装过程
Tomcat安装非常简单,下载程序包,解压,然后运行提供的startup.sh脚本就可以开启服务。
- 1.下载安装包
wget -c http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz
- 2.解压
tar -zxvf apache-tomcat-8.5.47.tar.gz
- 3.开启Tomcat服务
cd apache-tomcat-8.5.47/bin/
./startup.sh
此时使用浏览器打开http://localhost:8080/即可见到如下图所示的主页:

3.Tomcat目录结构
Tomcat程序解压后所得文件夹如下图所示:
以下列出了部分比较重要的目录中的内容进行了解释:
3.1 bin目录
bin目录下是可执行文件目录,主要分为.bat结尾的和.sh结尾的文件。这些文件名称相同,后缀不同。.bat后缀的是在Windows系统下使用的。.sh后缀的是在Linux系统下使用的。以下列举出部分sh脚本用途:
catalina.sh:最重要的脚本,包含了开启、关闭、重启、测试配置显示版本等重要功能ciphers.sh:显示所支持的加密算法,调用了tool-wrapper.shconfigtest.sh:测试server.xml是否有毛病,就是调用的catalina.sh configtestdaemon.sh:可以用守护模式启动tomcat,上线部署的时候用这个比较好,里面还可以设置tomcat运行用户,把这个文件拷贝到/etc/init.d/还可以使用service命令来管理digest.sh:摘要算法,可以调用md5.tomcat-users.xml中填写的密码就可以用这个sh生成出来setclasspath.sh:设置环境变量的,catalina.sh中进行了调用shutdown.sh:关闭服务脚本,其实就是调用了catalina.sh stopstartup.sh:开启服务脚本,其实就是调用了catalina.sh starttool-wrapper.sh:调各种java程序的一个命令接口version.sh:输出版本信息
3.2 logs目录
logs目录下面有很多日志,具体内容如下:
catalina.out:tomcat的标准输出(stdout)和标准出错(stderr),这是在tomcat的启动脚本里指定的,如果没有修改的话stdout和stderr会重定向到这里。cataliana.{yyyy-MM-dd}.log:这个跟catalina.out里面的内容一模一样,只不过是按日期分的。localhost.{yyyy-MM-dd}.log:主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志。要是部署应用起不来应该赶紧看看这个。localhost_access_log.{yyyy-MM-dd}.txt:网站的被访问记录,跟apache2的access_log一样
3.3 conf目录
conf目录下主要保存着tomcat的配置文件,具体内容如下:
server.xml:用于设置端口号、设置域名或IP、默认加载的项目、请求编码web.xml:用于设置tomcat支持的文件类型context.xml:可以用来配置数据源之类的tomcat-users.xml:用来配置管理tomcat的用户与权限logging.properties:日志的配置文件
4.Tomcat虚拟目录
Tomcat添加虚拟目录的方法主要有以下三种:
- 1.在
server.xml文件的host元素中添加Context元素(官方建议不要使用这种方法,因为每次都要重启服务)
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<Context path="/testTomcat" docBase="/tmp/testtomcat" />
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>

- 2.把目录放在webapps目录下
tomcat服务器webapps目录中的web应用,外界可以直接访问。使用方法如下图所示:

- 3.在
conf/[enginename]/[hostname]/下新建一个xml文件,并添加如下代码即可(xml文件名为虚拟目录名称)
<Context docBase="/tmp/testtomcat3" />
注:这种方法也不需要重启服务!
5.将Java web应用打包成war包
war(Web Application Archive),当Tomcat服务器启动时,就会自动将webapps目录下的war包解压。打包的命令如下:
jar -cvf testTomcatVirDir2.war testTomcatVirDir2
