Tomcat 配置篇
Tomcat 配置
一、Tomcat 基本介绍
1.关键目录
a) bin
该目录包含了启动、停止和启动其他的脚本,如startup.sh、shutdown.sh等;
b) conf
配置文件和一些文档定义规则,其中server.xml文件是tomcat容器的主要配置文件;
c) logs
该目录是默认的日志目录,其中控制台打印出来的内容,都会保存在catalina.log中;
d) lib
该目录下主要放置了servlet和jsp需要的jar包
e) webapps
1.放置web应用程序
2.其中ROOT目录下存放的是tomcat的首页,如访问localhost:8080时,默认访问该目录下的index.html;
3.docs中存放的是tomcat的官方文档;
4.examples下是示例jsp应用程序
f) 所有的配置信息都是在启动时读取,所以当修改配置信息之后,必须重启tomcat;
2.tomcat安装与启动
a) 安装JDK Java工具
1.download jdk-7u79-linux-x64.gz
2.unzip jdk-7u79-linux-x64.gz -d /usr/local/jdk1.7.0_79
3.ln -s /usr/local/jdk1.7.0_79/ /usr/local/jdk #创建软连接,方便下次版本升级
b) 设置JDK环境变量
1.echo "export JAVA_HOME=/usr/local/jdk1.7.0_79" >>/etc/profile
2.echo "export JRE_HOME=${JAVA_HOME}/jre" >>/etc/profile
3.echo "export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib" >>/etc/profile
4.echo "export PATH=${JAVA_HOME}/bin:$PATH" >>/etc/profile
5.source /etc/profile
c) 安装tomcat
1.download apache-tomcat-6.0.39.tar.gz
2.tar -zxvf apache-tomcat-6.0.39.tar.gz -d /data1/tomcat
3.echo "CATALINA_HOME=/usr/local/apache-tomcat-6.0.39" >>/data1/tomcat/apache-tomcat-6.0.39/bin/catalina.sh
4.chmod +x /data1/tomcat/apache-tomcat-6.0.39/bin/*.sh
5.tail -100f /data1/tomcat/../bin/logs/fantasia/ #查看日志
6.netstat -ano | grep 8080 #查看端口是否被监听
d) 启动、关闭Tomcat
1.cd /data1/tomcat/../bin/
2.sh catalina.sh 或者 sh startup.sh #启动tomcat
3.sh shutdown.sh 或者 ps aux | grep 8080 | grep -v "grep" | awk '{print $2}' | xargs kill -9 #关闭tomcat
3.Tomcat 常见故障
a) Http 端口冲突
1.cause:#这种问题可能是已经启动了一个tomcat服务,当启动第二个时,端口已经被占用,就会报错。
2.solve:#修改CATALINA_HOME/conf/server.xml中8080端口
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
b) localhost 找不到
1.cause:#这种情况可能是由于设置了网络代理
2.solve:#修改浏览器的代理配置
4.Tomcat 可选组件
a) Tomcat本地库:用于通过Http和AJP连接Tomcat
b) Tomcat守护进程:Windows中安装成服务;Unix中安装成守护进程
二、部署Tomcat
1.tomcat静态部署
a) 静态部署是指在tomcat启动时部署
b) 直接拷贝相应的web展开目录、或者war包(展开目录的意思就是tomcat可以直接访问的应用目录,是未经过压缩的。相反的就是war包,是一种经过压缩的web应用文件)
c) 静态部署时,涉及到了一个变量appBase,这个变量标识了一个目录,该目录存放着部署的web应用
d) 其中常用的几个选项:
1.appBase #指定了部署的目录(就是webapps)
2.autoDeploy #设置是否自动部署
3.unpackWARs #设置了部署的形式,如果为true,则会以展开的形式部署;如果为false,则会以war包的形式部署
4.设置以上的内容以后,当启动tomcat时,就会自动部署在appBase目录下的应用
e) 部署顺序:
1.部署上下文描述符(Context,在tomcat中,上下文就是一个web应用)
2.部署展开的应用,如果部署目录中存在相应的war包,则检查是否比当前的应用更新;如果更新,则删除当前的应用,并解压该war包,得到最新的应用
3.部署war包
2.tomcat动态部署
a) 动态部署是指在tomcat运行时自动部署
b) 通过tomcat管理器或者其他工具(如TCD,tomcat client deployer)执行部署。
c) 但是如果要使用TCD进行部署,那么就需要预先安装JDK和Ant,因为TCD中内置的是Ant的任务构建脚本;然后再下载TCD的部署包。
e) 动态部署需要autoDeploy 参数为true,当设置了该属性后,tomcat会在其运行时支持如下操作:
1.部署拷贝到appBase下的war文件
2.部署拷贝到appBase下的war文件
3.当提供一个更新的war包时,重新部署应用,会先删除当前存在的应用,再进行解压部署
4.当/WEB-INF/web.xml被改写时,自动部署
5.当web应用的context.xml上下文描述符被更新时,自动部署
6.当CATALINA_HOME/conf下对应的应用的上下文描述符被更新时,自动部署
7.当对应的docBase文档被删除时,自动部署。