tomcat部署服务
tomcat的工作流程以及服务架构
一个Tomcat中只有一个Server,一个Server可以包含多个Service,一个Service只有一个Container,但是可以有多个Connector,这是因为一个服务可以有多个连接,同时提供Http和Https链接,也可以提供向相同协议不同端口的连接
多个 Connector 和一个 Container 就形成了一个 Service,有了 Service
就可以对外web服务,但是 Service 还要一个生存的环境,必须要有人能够给她生命、掌握其生死大权是Server 所以整个
Tomcat 的生命周期由 Server 控制。
tomcat架构名词解释
- 1.server 提供一个接口让其他程序能够 访问到servic集合,同时要维护他所有包含的所有service的生命周期,包括如何初始化如何结束服务,如何找到别人要访问的service
- 2.service service是server下一个集合,service包含多个接收请求的connector并有一个处理所有连接的容器containe
- 3.connector connector作用是一个监听客户端的请求,并将请求封装 提交给container处理,然后将处理好结果返回给客户端 tomcat有两个典型的
connector,一个作为监听的浏览器的http请求,另一个是用来监听 来自其它服务器的请求covotehttp/1.1
connector在端口8080处监听来自客户browser的http请求 coyote AJP/1.3 connector
在端口8009出监听来自其它webserver(apache)的servlet/jsp代理请求 - 4.contarner
- 4.1 engine engine下可以配置多个虚拟主机virtual host,每个虚拟主机都有一个域名,当engine获取一个请求时,它把该请求匹配到某个host上
,然后把该请求交给host处理engine有一个默认虚拟主机,当请求无法匹配到任何一个host’上的时候,将交给默认host处理localhost
4.2 host 代表一个virtual host,虚拟主机,每个虚拟主机和某个网络域名damain name相匹配 每个虚拟主机下都可以部署(deploy)一个或者多个web app,每个web app相对于一个context,有一个context
path,当host获得一个请求时,将请求匹配到某个context上,然后把该请求交给该context来处理
所有无法和其它context的路径名匹配的请求都将最终和该默认context匹配 - 4.3 context 一个context对应于一个web application,有一个web application有一个或者多个servlet组成。servlet全称为java
servlert,使用java编写的服务端程序,其主要功能在于交互式的浏览器个修改数据,生成动态web内容,狭义的servle是值java语言实现一个接口,广义的servlet是指任何实现啦这个servlet的类,一般情况下,人们将servlet理解为后者比如httpservlet类继承啦servlet’的类可以利用继承http
servlet来实现http请求,当不是http请求的时候也可以
搭建tomcat
配置java环境
[root@localhost ~]# tar zxf jdk-8u201-linux-x64.tar.gz
[root@localhost ~]# mv jdk1.8.0_201/ /usr/local/java
查看java的文件路径
[root@localhost ~]# which java
/usr/bin/java
添加java环境变量
[root@localhost ~]# vim /etc/profile
**添加到最后一行**
78 export JAVA_HOME=/usr/local/java
79 export JRE_HOME=/usr/local/java/jre
80 export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
81 export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
删除以前的java环境目录
[root@localhost ~]# rm -rf /usr/bin/java
加载/etc/profile文件
[root@localhost ~]# source /etc/profile
再次查看java文件路径
[root@localhost ~]# which java
/usr/local/java/bin/java
查看java版本
[root@localhost ~]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
安装tomcat
[root@localhost ~]# tar zxf /root/apache-tomcat-8.5.35.tar.gz
[root@localhost ~]# mv /root/apache-tomcat-8.5.35 /usr/local/tomcat
启动tomcat
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
关闭tomcat
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
访问tomcat
[root@localhost ~]# firefox 192.168.43.60:8080
tomcat网络浏览功能
[root@localhost ~]# cd /data/
[root@localhost data]# ls
index.jsp
[root@localhost data]# touch {1..5}.txt
[root@localhost data]# ls
1.txt 2.txt 3.txt 4.txt 5.txt index.jsp
修改tomcat默认的页面该名称即可
[root@localhost data]# mv index.jsp index1.jsp
开启网页浏览
[root@localhost ~]# vim /usr/local/tomcat/conf/web.xml
112 <param-value>true</param-value>
重启tomcat
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
获取tomcat的页面
[root@localhost data]# firefox 192.168.43.60:8080/kgc/meminfo.jsp
tomcat参数优化
修改tomcat主配置文件
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml
取消57-59行的注释,添加59,60行
57 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
58 maxThreads="800" minSpareThreads="50"
59 prestartminSpareThreads="true"
60 maxQueueSize="300" />
最大线程数800 初始化的线程数50
表示tomcat在初始化的时候就创建这些线程 true
大的等待的队列数300一旦超过300就拒接
76两个线程接收请求
77-78空闲的时候线程数最多200个最少 5个
79我是否要进行dns查询客户端的主机名(不要)
80不设置
81如果使用pro方式向我请求最大自己1028
82压缩
83最小字节压缩
84压缩类型有什么
重启tomcat
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh