TOMCAT服务基本理论+实验
一、 TOMCAT理论:
tomcat简单说是一个运行JAVA的网络服务器,免费开源的web应用层的服务器,类似于http协议,同时也是JSP和Serlvet的一种容器。
作为开发和调试JSP程序的首选服务(常用于中小型,用户并发量低的公司中)
功能:即其他用户可以访问自己写的页面的一个程序
二 、TOMCAT基本架构
1.server端(默认端口8005)
提供一个接口让其他程序可以访问service集合,同时需要维护所包含的service的生命周期(service的初始化/结束服务/寻找对应的service)。
2.service端
service端包含多个用户请求connector访问连接端,和一个处理所有服务的后台container容器端。
3.connector端
用来监听用户(客户端)的请求访问,并将其请求封装提交到container处理,处理后再返回到客户端client。
其中tomcat一般有2中典型的connector:
3.1 http (默认端口8080)
用来监听来自客户浏览器的http形式请求
3.2 AJP (默认8009端口)
用来监听来自其他webserver(如apache)的servlet/jsp代理请求。
4.container端
4.1 engine 处理引擎
旗下可配置多个虚拟主机host,一个host=一个域名(当engine获得一个请求,将请求匹配到合适的host上进行处理)
4.2 host 虚拟主机
每个host后可部署N个context,1个context=1个web app=1个context path路径
当host有engine分配到请求,在将改请求分配到旗下的某个context上进行处理,如果请求无法和其他的context的路径匹配,会与默认的context匹配处理。
4.3 context
1个context=一个web app
1个web app=1个或n个servlet(小程序服务)组成
三 、TOMCAT实验:
首先在虚拟机中(centos7.3版本)搭建JAVA环境
[root@localhost /]# mv jdk1.8.0_201/ /usr/local/java
#解压java环境包到指定的目录下
[root@localhost /]# rm -rf /usr/bin/java
#删除镜像系统自带的java启动项
[root@localhost /]# echo ' export JAVA_HOME=/usr/local/java
> export JRE_HOME=$JAVA_HOME/jre
> export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
> export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile
#写入环境变量
[root@localhost /]# source /etc/profile
[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)
#验证jave环境搭建成功
安装tomcat服务:
[root@localhost /]# tar -zxf apache-tomcat-8.5.35.tar.gz
[root@localhost /]# mv apache-tomcat-8.5.35 /usr/local/tomcat
实验1/Tomcat多实例搭建
[root@localhost /]# systemctl stop firewalld
#关闭防火墙--便于实验
[root@localhost /]# cp -r /usr/local/tomcat{,1}
#复制tomcat文件一份
[root@localhost /]# vim /usr/local/tomcat1/conf/server.xml
22 <Server port="8006" shutdown="SHUTDOWN">
69 <Connector port="8081" protocol="HTTP/1.1"
70 connectionTimeout="20000"
71 redirectPort="8444" />
116 <Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />
#更改tomcat.1配置文件的端口(所有默认端口均+1)
[root@localhost /]# /usr/local/tomcat/bin/startup.sh
[root@localhost /]# /usr/local/tomcat1/bin/startup.sh
#将两台tomcat启动
[root@localhost /]# netstat -anput | grep 808 |grep LISTEN
tcp6 0 0 :::8080 :::* LISTEN 47466/java
tcp6 0 0 :::8081 :::* LISTEN 47531/java
#成功运行
#通过IP地址:端口号即可访问tomcat网页
/usr/local/tomcat/bin/shutdown.sh
#关闭tomcat命令见上
#如想恢复单主机,只要将tomcat1目录删除即可
实验2/图形化界面部署war包
[root@client /]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
20 allow="192.168.1.*" />
#默认为本机,改为1.0网段均可访问
[root@client /]# vim /usr/local/tomcat/conf/tomcat-users.xml
43 -->
44 <role rolename="manager-gui"/>
45 <user username="manager" password="123456" roles="manager-gui"/>
46 </tomcat-users>
47
#tomcat账号配置---添加角色为后台管理,并配置访问的用户名和密码对应其角色用来登录。
[root@localhost /]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost /]# /usr/local/tomcat/bin/startup.sh
#重启tomcat服务--来应用配置
#验证用户名和密码后即进入tomcat应用管理平台
#可以通过这里来直接部署WAR包(例:部署kgcweb.war)
实验3/手动部署WAR包
[root@client /]# vim /usr/local/tomcat/conf/server.xml
147
148 <Host name="localhost" appBase="webapps"
149 unpackWARs="true" autoDeploy="true">
150
#在tomcat配置文件中,默认本地主机名为localhost;当前host下应用部署的目录的相对路径为webapps(在tomcat/conf/这配置目录下);自动解压war包开启;自动部署开启
[root@localhost /]# cp bdqnweb.war /usr/local/tomcat/webapps/
#将war包直接拷到webapps目录下
[root@localhost /]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost /]# /usr/local/tomcat/bin/startup.sh
#重启tomcat服务
[root@client /]# ls /usr/local/tomcat/webapps/bdqnweb
index.jsp META-INF WEB-INF
#tomcat在重启过程中对webapps下的war包实现自动解压并部署成功---产生jsp文件。
*** 以上是自己学习的一些内容,望大家指教,Thanks♪(・ω・)ノ ***