开始学习Tomcat:
学习目标和内容:
1)能够描述Tomcat的使用场景;
2)能够简单描述Tomcat的工作原理;
3)能够实现部署安装Tomcat;
4)能够实现和配置Tomcat的Server服务和自启动;
5)能够实现Tomcat的Host的配置;
6)能够实现Nginx的反向代理Tomcat;
7)能够实现Nginx负载均衡到Tomcat;
Tomcat介绍:
1、简介:
Serverlet和JSP规范总是能在tomcat中得到体现,tomcat支持最新的Servlet和JSP规范。 由于tomcat技术先进、性能稳定、而且免费,因而深受Java爱好者的喜爱,并得到部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Java开发,Java开发web项目,就是使用tomcat。
Servlet是java的一个类组件。
JSP:JavaServerPage。
同类软件:
jboss、jetty
weblogic Oracle商业用付费 EJB企业支持 重载配置
websphere:IBM 商业授权
Resin 是CAUCHO公司的产品,是一个非常流行的Application Server, 对Servlet和JSP提供了良好的支持,性能也比较优良。resin自身采用JAVA语言开发。
还是使用tomcat,市场率最高的。
java
gui 软件 桌面软件
web serverlet JSP ssh springboot springcloud
tomcat是给web提供服务的,是web应用服务器。本身也是java语言开发的。
安卓
工作原理:
tomcat也被称为中间件或者容器。
coyote是tomcat的Connector框架的名字,简单说就是coyote来处理底层的socket, 并将http请求、响应等字节流层面的东西,包装成Request和Response两个类(这两个类是tomcat定义的,而非servlet中的ServletRequest和ServletResponse),供容器使用。
请求类
响应类
1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。
2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。
3、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。
4、Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为" "的Context去处理)。
5、path="/test"的Context获得请求/index.jsp,**在它的mapping table中寻找出对应的Servlet。**Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。
6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。
7、Context把执行完之后的HttpServletResponse对象返回给Host。
8、Host把HttpServletResponse对象返回给Engine。
9、Engine把HttpServletResponse对象返回Connector。
10、Connector把HttpServletResponse对象返回给客户Browser。
运维主要操作绑定虚拟机Host。
tomcat有连接器和容器。容器是用来解析java代码的。
安装与配置:
安装方式介绍:
1)yum安装 加载epel源,版本目前为tomcat7.0
tomcat7.0使用也还行。但是安装最新的方式就要换下。
2)二进制方式安装, 直接下载, 部署好java环境,即可运行(推荐);
3)源码安装方式 需要下载Apache Ant进行编译安装。
配置java的环境变量:
export JAVA_HOME=/usr/local/java
export PATH=PATH:JAVA_HOME/bin
export CLASSPATH=.:JAVA_HOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
测试下java的版本:
如果配置JAVA_HOME路径配置到jdk下就可以,不需要配置到bin下。
如果配置java的环境环境变量PATH,就指定到bin下。
如果启动tomcat,遇到如下问题
①没有安装jre jdk
②环境变量没有配置
③启动的软件找不到需要的java相关软件
tar -zxvf apache-tomcat-10.1.13.tar.gz
mv apache-tomcat-10.1.13 /usr/local/tomcat
软件部署后的目录结构:
这个是一个绿色的软件,这样,就等于是安装完成了。
在这个之前,遇到一个jdk17没有jre。那么使用jlink命令进行生成。
目录介绍:
bin:存放的是启动和关闭tomcat的脚本文件;
conf:存放tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
lib: 存放的是tomcat服务器所需要的各种jar文件。
logs:存放tomcat执行时的日志文件
temp:是tomcat存放的临时文件
webapps:tomcat默认存放应用程序的目录,好比apache的默认网页存放路径一样/var/www/html
work: 用于存放JSP应用程序在部署时编译后产生的class文件。