Tomcat源码分析 -- Tomcat整体架构
Tomcat顶层结构
先上一张图:
上图大概展示了tomcat的结构,下面先简单介绍各个模块:
- Server:服务器的意思,代表整个tomcat服务器,一个tomcat只有一个Server;
- Service:Server中的一个逻辑功能层, 一个Server可以包含多个Service;
- Connector:称作连接器,是Service的核心组件之一,一个Service可以有多个Connector,主要是连接客户端请求;
- Container:Service的另一个核心组件,按照层级有Engine,Host,Context,Wrapper四种,一个Service只有一个Engine,其主要作用是执行业务逻辑;
-
Host:Host的元素定义了一个虚拟主机.它包含了一个或多个Web应用
一个server有多个service,每个service对应多个Connector,多个Connector对应一个前台Engine ,一个Engine对应多个Host,host下对应多个虚拟机。
1.安装部署tomcat服务软件。
1.)安装 jdk 1.8环境软件包
[root@web1 ~]# yum -y install java-1.8.0-openjdk //安装JDK
[root@web1 ~]# yum -y install java-1.8.0-openjdk-headless //安装JDK
[root@web1 ~]# java -version //查看JAVA版本
2)安装Tomcat(apache-tomcat-8.0.30.tar.gz软件包)
[root@web1 ~]# tar -xf apache-tomcat-8.0.30.tar.gz
[root@web1 ~]# mv apache-tomcat-8.0.30 /usr/local/tomcat
[root@web1 ~]# ls /usr/local/tomcat
bin/ //主程序目录
lib/ //库文件目录
logs/ //日志目录
temp/ //临时目录
work/ //自动编译目录
jsp代码转换servlet
conf/ //配置文件目录
webapps/ //页面目录
3)启动服务
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
[root@web1 ~]# firewall-cmd --set-default-zone=trusted
[root@web1 ~]# setenforce 0
4)服务器验证端口信息
[root@web1 ~]# netstat -nutlp |grep java //查看java监听的端口
tcp 0 0 :::8080 :::* LISTEN 2778/java tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2778/java
提示:如果检查端口时,8005端口启动非常慢,可用使用下面的命令用urandom替换random(非必须操作)。
[root@web1 ~]# mv /dev/random /dev/random.bak
[root@web1 ~]# ln -s /dev/urandom /dev/random