代码改变世界

Tomcat基础学习

2020-03-01 10:56  牛仔裤的夏天  阅读(249)  评论(0编辑  收藏  举报
摘要:Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。由于Tomcat使用Java语言开发,所以Tomcat运行环境需要用到Java环境的支持,这里用的是jdk1.8版本,因为1.8版本的GC(垃圾回收机制)性能比1.7提高了很多,其次,1.8的lambda表达式允许函数作为方法的参数,代码比较简洁紧凑,1.8还有很多性能提升的地方。

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:最大原空间大小