WEB应用服务器TOMCAT知识点

news/2024/10/18 5:55:24/

TOMCAT介绍

Tomcat是一个开源的Java Web应用服务器,主要用于运行Java编写的网站。

Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java Web应用服务器,最初由Sun Microsystems捐赠给Apache软件基金会,后来成为Apache Jakarta项目的一部分。Tomcat主要用于实现Java Servlet、JavaServer Pages(JSP)、Java Expression Language和Java WebSocket等技术规范。它能够将编译后的Java类文件和静态资源如HTML、CSS和JavaScript等整合在一起,通过HTTP协议响应用户的请求。

由于Tomcat是用Java语言编写的,因此它需要运行在Java虚拟机上,通常需要先安装Java Development Kit (JDK) 以提供运行环境。Tomcat实现了Java EE中的部分规范,尤其是Servlet和JSP,这使得它可以作为Servlet容器运行并处理动态Web请求。

Tomcat因其轻量级、易用性和强大的社区支持,被广泛用于教育和学习、开发测试以及中小型企业环境中。与大型商业服务器相比,Tomcat更适合个人项目或小型企业,提供网页浏览和小规模数据处理功能。尽管它不支持完整的Java EE规范,但其功能已经足够满足许多Web应用的需求。

TOMCAT的部署方式

standalone 模式: Tomcat 单独运行,直接接受用户的请求,不推荐。
单机反向代理:单机运行,提供了一个 Nginx 作为反向代理,可以做到静态由 nginx 提供响应,动态 jsp 代 理给Tomcat
LNMT Linux + Nginx + MySQL + Tomcat
LAMT Linux + Apache Httpd + MySQL + Tomcat
反向代理多机:前置一台 Nginx ,给多台 Tomcat 实例做反向代理和负载均衡调度, Tomcat 上部署的纯动态页面更适合
LNMT Linux + Nginx + MySQL + Tomcat
反向代理多机多级
LNNMT Linux + Nginx + Nginx + MySQL + Tomcat

TOMCAT源码编译下载

1.安装java环境jdk

2.解压tomcat的压缩包到/usr/local(可以去官网获取)

3.创建链接文件并启动tomcat

tomcat的文件结构和组成

bin 服务启动、停止等相关程序和文件
conf 配置文件
lib 库目录
logs 日志目录
webapps 应用程序,应用部署目录,相当于 nginx 的默认发布目录
work jsp 编译后的结果文件,建议提前预热访问

tomcat的启动文件的生成

1.主配置文件的生成(vim /usr/local/tomcat/conf/tomcat.conf

2.增加用户tomcat并修改/usr/local/tomcat的所属组

3.启动文件配置(vim /lib/systemd/system/tomcat.service

4.重新加载并启动tomcat

利用nginx实现tomcat的反向代理

1.编辑nginx的配置文件

将匹配到的以.jsp结尾的请求转发到http://172.25.254.20:8080。

2.编写一个test.jsp界面到tomcat的默认发布目录

测试

tomcat负载均衡实现

编辑nginx配置文件

配置文件中upstream tomcat 定义了一个名为 tomcat 的上游服务器组,其中包含两个服务器:172.25.254.10:8080 和 172.25.254.20:8080。当请求匹配到 location ~ \.jsp$ 时,Nginx 会将请求代理到这个上游服务器组中的一个服务器上。

使用哈希算法对 $cookie_JSESSIONID 这个变量进行哈希处理。确保同一个会话ID的请求总是被路由到相同的服务器上,从而保持会话状态的一致性。

测试:

tomcat结合mecached布置msm实现高可用

memcached的安装与启动

1.安装memcached

2.修改配置文件( vim /etc/sysconfig/memcached )

3.启动memcached

环境安装(参考https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration

配置过程

1.在tomcat1和tomcat2上修改配置(vim /usr/local/tomcat/conf/context.xml)

tomcat1:

tomcat2:

2.在nginx修改配置


http://www.ppmy.cn/news/1518016.html

相关文章

Java面试题精选:消息队列(二)

一、Kafka的特性 1.消息持久化:消息存储在磁盘,所以消息不会丢失 2.高吞吐量:可以轻松实现单机百万级别的并发 3.扩展性:扩展性强,还是动态扩展 4.多客户端支持:支持多种语言(Java、C、C、GO、…

ssm基于微信小程序的高校课堂教学管理系统论文源码调试讲解

2开发技术介绍 2.1微信开发者工具 在传统web浏览器中,在加载htm15页面时先加载视图层的html和css,后加载逻辑层的java script,然后返回数据并在浏览器中展示页面。而微信开发者工具的系统层是基于Native System的,视图层和逻辑层…

【大模型LLM第十一篇】微调自动化数据选择方式之MoDS

前言 来自中科院自动化所的paper MoDS: Model-oriented Data Selection for Instruction Tuning link:https://arxiv.org/pdf/2311.15653 github:https://github.com/CASIA-LM/MoDS 一、摘要 sft已经成为让LLM遵循用户指令的一种方式。通常&#xf…

获取Word、PPT、Excel、PDF文件页数及加密校验

想要获取一个pdf文件的页数,有多种实现方式。可以利用pdfjs,也可以利用PDFDocument: // 方法一:利用文件的arrayBuffer let arrayBuffer await file.arrayBuffer(); const pdfDoc await PDFDocument.load(arrayBuffer, { ignor…

matlab实现模拟退火算法

模拟退火算法(Simulated Annealing, SA)是一种通用概率优化算法,用于在给定的大搜索空间内寻找问题的近似全局最优解。该算法灵感来源于物理学中固体物质的退火过程,其中温度逐渐降低,粒子逐渐趋于能量最低状态。 在M…

2.5G网络(通常指2.5G以太网,即2500BASE-X)的网络变压器在设计和应用上有几个关键方面

信号传输和接收: 2.5G网络变压器主要用于以太网设备中,用于将信号从平衡转换为非平衡,或者进行阻抗匹配,确保信号能够在传输线和接收器之间有效地传输和接收。 频率范围: 这些变压器需要支持2.5G以太网的频率范围&…

无人机喊话器详解!!!

无人机喊话器,也被称为无人机扬声器,是一种安装在无人机上,用于通过空中向地面人员传递声音的设备。 一、功能特点 远程传递声音:无人机喊话器能够在较远的距离内清晰地传递声音,有效广播范围通常可达数百米甚至更远…

fpga图像处理实战-图像浮雕

图像浮雕 图像浮雕(Embossing)是一种图像处理技术,通过模仿浮雕效果,将二维图像转换为具有三维质感的图像。浮雕效果通常会使图像看起来像是雕刻在某种材质上的图案,具有突出的边缘和阴影,增强了图像的立体感。 图像浮雕特效实现的基本原理 实现图像浮雕特效的算法很多,…