1.概述与运行原理
Server服务器:负责管理和启动各个Service,同时监听shutdown命令。
Service服务:Tomcat封装的主要对外提供完整的基于组件的web服务。包含Connector、Container两个核心组件及多个功能组件。各个Service之间是独立的,但是他们会共享同一个虚拟机资源。
Connector组件:Tomcat与外部之间的一个连接器,监听固定的端口接收外部请求。将请求转给Container,并且处理完再返回给外部。
Contailner组件:servlet容器,管理servlet的生命周期,调用servlet的相关方法处理业务容器。
Jasper:Tomcat的jsp解析引擎,用于将jsp文件转换成java文件,并编译成class文件
Naming:命名服务,将名称和对象联系起来,可以通过名称去访问对象。
Session:管理和创建Session及持久化。
Loging:记录日志。
JMX:Javase中定义的技术规范。
2.Tomcat环境安装
2.1 Windows环境
下载安装jdk,确认安装是否成功,cmd下输入java -version 看到版本号即安装成功。
下载tomcat,解压到目录下,测试启动:bin下startup.bat
由于tomcat默认编码方式utf-8,与电脑编码方式不同导致乱码,更改编码方式,修改conf下的logging.properties,将UTF-8替换为GB2312,再次启动bin下startup.bat
这里看到中文显示正常。这里部署Demo示例tomcattest.war到webapps目录下,再次启动startup.bat,浏览器访问localhost:8080/tomcattest/可以看到页面访问正常。
2.2 Linux环境
首先安装jdk,同样是解压后配置环境变量,在/etc/profile最后加入:
export JAVA_HOME=解压后的jdk目录
export JRE_HOME=解压后的jdk目录/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
输入java -version 看到版本号即安装成功.
下载tomcat,并解压:
tar -zxvf apache-tomcat-8.5.51.tar.gz
解压后的目录结构和windows相似,接下来启动:/bin/startup.sh
查看启动日志:
部署并查看启动页面:localhost:8080/tomcattest/和window相似。
tomcat目录结构:
|-bin:存放tomcat运行的命令,常用的有startup.sh、shutdown.sh、catalina.sh。catalina.sh设置tomcat的内存和字符集。
|-conf:存放配置文件,
|-catalina.policy防止jsp代码或者任务代码破坏tomcat容器。
|-catalina.properties 包含了一些可能对jsp或者servlet修改的jar的一个文件列表
|-context.xml 有关content的配置文件
|-logging.properties tomcat日志使用的配置文件
|-server.xml tomcat中最主要的配置文件,定义了tomcat的体系结构,在tomcat启动的时候构建tomcat容器。
|-tomcat-users.xml tomcat的web页面,一些人员或者管理员信息
|-web.xml 被tomcat所有应用程序使用,配置启动信息启动页
|-lib:包含了所有tomcat容器使用的jar包,也包含用户存放的多个web应用程序共享的jar包
|-logs:tomcat在运行期间产生的一些日志信息。
|-temp:存放用户在tomcat运行过程中产生的一些临时文件
|-webapps:存放应用程序,当tomcat启动时会加载webapps目录下的应用程序,可以是以文件夹war包,jar包的形式来发布应用。
|-ROOT 是根目录
|-work:存放tomcat在运行时编译后的文件,清空这个目录,重启tomcat可以达到清除服务器缓存的效果。
3.常用配置项修改
3.1 修改端口号
修改conf下的server.xml文件,将8080改为8081,这里再访问localhost:8081/tomcattest/看到访问正常。
3.2内存配置
初始内存空间(即-Xms)是物理内存的1/64,最大内存空间(-Xmx)是物理内存的1/4
打开conf下的catalina.bat文件,在第二行输入:
set JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256"
参数说明:
-server :运行模式(设置为server可以更好的发挥CPU性能),默认为client
-Xms:初始值(堆内存)
-Xmx:最大值
-MetaspaceSize:初始原空间大小,默认21M
-MaxMetaspaceSize:最大原空间大小
来源:https://www.cnblogs.com/wonglu/p/12388645.html