1、Tomcat概述
1.1 Tomcat介绍
自2017年11月编程语言排行榜Java 占比13%,高居榜首,Tomcat 也一度成为Java 开发人员的首选。其开源、占用系统资源少、跨平台等特性深受广大程序员喜爱。
自从JSP 发布之后,推出了各式各样的 JSP 引擎。Apache Group 在完成GNUJSP1.0 的开发以后,开始考虑在SUN 的JSWDK 基础上开发一个可以直接提供Web 服务的 JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。
Tomcat 是 Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一 个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。其被JavaVWorld杂 志的编辑选为2001年度最具创新的Java 产品,同时它又是Sun 公司官方推荐的 Servlet 和JSP 容器,因此Tomcat 越来越多的受到软件公司和开发人员的喜爱。由于有了Sun 的 参与和支持,最新的Servlet 和 JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最 新的Servlet 2.4 和 JSP 2.0 规范。因为Tomcat 技术先进、性能稳定、免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首 选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利 用它响应HTML (标准通用标记语言下的一个应用)页面的访问请求。实际上,Tomcat 是 Apache 服务器的扩展,但运行时它是独立运行的,所以当运行 Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
当配置正确时,Apache 为 HTML 页面服务,而Tomcat 实际上运行 JSP 页面和 Servlet 。Tomcat 和 IIS 等Web 服务器一样,具有处理HTML页面的功能,另外它还是一 个Servlet 和 JSP 容器,独立的Servlet 容器是Tomcat 的默认模式。不过,Tomcat 处理静态 HTML的能力不如Apache服务器。
1.2 Tomcat核心组件
通常意义上的Web 服务器接受请求后,只是单纯地响应静态资源(如HTML 文件、图 片文件等),不能在后端进行一定的处理操作。Tomcat 是 Apache 下的一个子项目,它具 备Web 服务器的所有功能,不仅可以监听接受请求并响应静态资源,而且可以在后端运行特定规范的Java代码 Servlet, 同时将执行的结果以HTML 代码的形式返回客户端。
Tomcat由一系列的组件构成,其中核心的组件有三个。
> Web 容器:完成Web 服务器的功能。
>Servlet容器:名字为catalina,用于处理Servlet 代码。
> JSP 容器:用于将JSP 动态网页翻译成Servlet代码。
1.3 Tomcat请求处理
2、Tomcat 服务部署
案例环境
名称 | 说明 |
系统版本 | CentOS7.9(64位) |
Tomcat 版本 | 9.0.8 |
jdk版本 | 1.8.0_171 |
服务器IP地址 | 192.168.10.101 6G 内存 |
Windows 客户端IP地址及其配置 | 192.168.10.10 8G 内存 |
主机名 | localhost.localdomain |
Firewalld | 关闭 |
Selinux | 禁用 |
Jmeter 版本 | 3.1 |
下载并安装JDK
1:安装JDK
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# rpm -ivh jdk-8u171-linux-x64.rpm
2:设置 jdk 的环境变量
[root@localhost ~]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
安装启动Tomcat
[root@localhost ~]# tar zxvf apache-tomcat-9.0.8.tar.gz
[root@localhost ~]# mv apache-tomcat-9.0.8 /usr/local/tomcat
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
查询进程是否正常运行
[root@localhost ~]# netstat -anpt | grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 9591/java
tcp6 0 0 :::8009 :::* LISTEN 9591/java
tcp6 0 0 :::8080 :::* LISTEN 9591/java
备注:
8005端口是用于命令行关闭Tomcat服务
8009 Tomcat服务器通过Connector连接器组件与客户程序建立连接使用的端口
8080是Tomcat的web服务端默认口号
浏览器打开 http://192.168.10.101:8080 进行访问会出现 Tomcat 主页
Tomcat 目录结构
[root@localhost ~]# ll /usr/local/tomcat/
总用量 92
drwxr-x---. 2 root root 4096 6月 11 08:04 bin
drwx------. 3 root root 254 6月 11 08:04 conf
drwxr-x---. 2 root root 4096 6月 11 08:04 lib
-rw-r-----. 1 root root 57092 4月 28 2018 LICENSE
drwxr-x---. 2 root root 197 6月 11 08:04 logs
-rw-r-----. 1 root root 1804 4月 28 2018 NOTICE
-rw-r-----. 1 root root 6852 4月 28 2018 RELEASE-NOTES
-rw-r-----. 1 root root 16246 4月 28 2018 RUNNING.txt
drwxr-x---. 2 root root 30 6月 11 08:04 temp
drwxr-x---. 7 root root 81 4月 28 2018 webapps
drwxr-x---. 3 root root 22 6月 11 08:04 work