目录
一、tomcat简介
什么是tomcat
tomcat服务器是一个开源的轻量级wed应用服务器,在中小型系统或者并发量较小的场合下,被普遍使用,是开发或者调试JSP程序首选。
相对于初学者而言,可以理解为,在一台机器上配置好apache服务器,可利用它响应HAML页面的访问请求。
tomcat可以认为是apache服务器的一个扩展,但是运行的时候是独立运行的,所以在你运行tomcat的时候,它实际上是作为一个apache独立的进程单独运行的。
二、TomCat的核心组件
1、tomcat由多个组件进行构成,但是其中有三个核心组件
1.web容器:负责底层的http协议
2.servlet容器:用于处理后端逻辑业务
3.jsp容器:用于将jsp动态网页翻译成servlet代码
多实例:多实例是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口进行提供服务
引擎:一般而言,引擎是一个程序或者一套系统的支持部分。较为城建的有搜索引擎,杀毒引擎等。
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true">
<Context >
<Context />
</Host>
</Engine>
</Service>
</Server>
2、tomcat对于请求的处理过程
1、toncat启动一个server进程。可以开启读个server,即tomcat的多实例,但是一般只启动一个
2、创建一个service,提供服务。同上,也是可以创建多个service,但是一般也是只创建一个
3、每个service中,是Enginx和其connector的关联配置
4、可以为这个Service提供多个Connector,这些Connector使用了不同的协议,绑定了不同的端口。其作用就是处理来自客户端的不同的连接请求或响应
5、service 内部还定义了Engine,引擎才是真正的处理请求的入口,其内部定义多个虚拟主机Host
6、Engine对请求头做了分析,将请求发送给相应的虚拟主机
7、如果没有匹配,数据就发往Engine上的defaultHost缺省虚拟主机
8、Engine上的缺省虚拟主机可以修改
9、Host定义虚拟主机,虚拟主机有name名称,通过名称匹配
10、Context定义应用程序单独的路径映射和配置
3、配置文件
安装目录下的文件介绍
conf子目录
三、搭建一个tomcat框架
rpm安装之后,进入配置文件
cd /usr/java/jdk1.8.0_201-amd64/
进入配置文件,添加环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
刷新配置文件
source /etc/profile
安装apache,步骤略,可以直接官网找到tar包,解压即可
解压文件之后,直接复制一份,文件到local文件下,创建一个同名目录,或者直接解压到该目录下也可。
cp -r apache-tomcat-9.0.16 /usr/local/tomcat
启动toncat
/usr/local/tomcat/bin/startup.sh
确认没问题之后,先关闭服务
/usr/local/tomcat/bin/shutdown.sh
创建一个用户,然后修改tomcat所属文件的属主属组
useradd -s /sbin/nologin tomcat
chown tomcat:tomcat tomcat/ -R
编写tomcat.service文件
vim /etc/systemd/system/tomcat.service
创建文件之后,添加新的配置文件
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
加载新的unit文件
systemctl daemon-reload
启动服务
systemctl start tomcat
查看端口开启状况
ss -ntap |grep 8080
端口开启成功之后,进入网站访问该服务器查看页面,例如,下面的IP地址是我的当做服务器的设备的IP,因为端口是8080端口,所以直接访问8080端口即可
http://192.168.75.52:8080/
这样,一个框架就搭建好了,可以按照自己的需求搭建组件等等功能,这次就不详细介绍了