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