WEB应用服务器TOMCAT知识点

news2024/9/30 11:31:08

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.coloradmin.cn/o/2087711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(Java实现):栈和队列相关练习题

文章目录 1. 题目链接2. 题目解析2.1 括号匹配2.2 逆波兰表达式求值2.3 出栈入栈次序匹配2.4 最小栈2.5 环形数组队列2.6 用队列实现栈2.7 用栈实现队列 1. 题目链接 括号匹配逆波兰表达式求值出栈入栈次序匹配最小栈设计循环队列用队列实现栈用栈实现队列 2. 题目解析 2.1 …

基于RK3568平台移植ffmpeg3.4.5及ffmpeg验证

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、移植流程3.1 编译x2643.2 编译mpp3.3 编译ffmpeg四、ffmpeg验证4.1 ffmpeg配置说明4.2 ffmpeg推流/拉流使用说明4.2.1 使用http方式推流/拉流4.2.1.1 先执行ffmpeg服务4.2.1.2 再执行ffmpeg进行推流4.2.1.3 最后执行vlc进…

等保测评中的数据安全保护:重点与挑战

在信息安全等级保护(等保)测评中,数据安全保护是核心关注点之一,它不仅关系到企业的合规性,还直接影响到企业的运营安全和用户信任。本文将深入探讨等保测评中数据安全保护的重点与挑战,为企业提供有效的应…

JavaScript初级——事件传播

1、事件的传播 关于事件的传播网景公司和微软公司有不同的理解: 微软公司认为事件应该是由内向外传播,也就是当事件触发时,应该先触发当前元素上的事件,然后再向当前元素的祖先元素上传播,也就说事件应该在冒泡阶段执行…

如何解决U盘无法压缩卷或删除卷的问题

U盘在日常使用中,偶尔会遇到无法压缩卷或删除卷的情况。出现这些问题通常与U盘的磁盘状态或文件系统有关。本文将介绍一种有效的解决方法,通过使用Windows自带的磁盘管理工具diskpart来解决这些问题。 一、问题原因 U盘无法压缩卷或删除卷的常见原因包…

Nginx部署Vue前端项目全攻略:从构建到上线一步到位!

要将前端 Vue 项目部署到 Nginx,你需要遵循以下步骤: 首先确保你已经安装了 Node.js 和 npm。如果没有,请访问 Node.js 官网 下载并安装。 使用 Vue CLI 创建一个新的 Vue 项目(如果你还没有一个): npm i…

探索未知,悦享惊喜 —— 您的专属盲盒小程序,即将开启奇妙之旅

在这个充满无限可能的数字时代,每一次点击都可能是通往惊喜的门户。我们匠心打造的“惊喜盲盒”小程序,正是为了给您带来前所未有的娱乐体验与心灵触动。在这里,每一份盲盒都蕴藏着精心挑选的宝藏,等待着与您的不期而遇。 【探索…

学习bat脚本

内容包含一些简单命令或小游戏,在乐趣中学习知识。 使用方法: 新建文本文档,将任选其一代码保存到文档中并保存为ASCII编码。将文件后缀改为.bat或.cmd双击运行即可。 一. 关机脚本 1. 直接关机 echo off shutdown -s -t 00秒直接关机。 2…

H5手机端调起支付宝app支付

1.调起APP页面如下 步骤 1.让后端对接一下以下文档(手机网站支付通过alipays协议唤起支付宝APP) https://opendocs.alipay.com/open/203/107091?pathHash45006f4f&refapi 2.后端接口会返回一个form提交表单 html:在页面中定义一个d…

halcon2

halcon自带图片路径 C:\Users\Public\Documents\MVTec\HALCON-18.11-Progress\examples 案例1:blob 固定阈值分割图像-车牌号识别 案例2:blob 动态阈值分割 匹配字母 案例1:打开窗口并画几何图形 (ROI 感兴趣区域) 并且距离测量…

IO进程day05(线程、同步、互斥、条件变量、进程间通信IPC)

目录 【1】线程 1》什么是线程 1> 概念 2> 进程和线程的区别 3> 线程资源 2》 函数接口 1> 创建线程:pthread_create 2> 退出线程:pthread_exit 3> 回收线程资源 练习1:通过父子进程完成对文件的拷贝&#xff08…

sqlmap注入语句学习,帮助你排查SQL注入漏洞

摘要 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据&#x…

第3章-03-Python库Requests安装与讲解

Python库Requests的安装与讲解 🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验&…

GPLGIAGQ;MMP2靶向光敏剂多肽;MMP2可降解 (cleavable) 的多肽;CAS号:109053-09-0

【GPLGIAGQ 简介】 GPLGIAGQ 是一种 MMP2 可切割的多肽,在脂质体和胶束纳米载体中都被用作刺激敏感的连接物,用于 MMP2 触发的肿瘤靶向治疗。GPLGIAGQ可用于合成光动力治疗 (PDT) 中独特的MMP2靶向光敏剂。 【中文名称】MMP2靶向光敏剂多肽;GPLGIAGQ 【英文名称】G…

【知识】缓存类型和策略

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 缓存读取策略 缓存写入策略 直写缓存写入策略 回写高速缓存写入策略 回写缓存写入策略 ​​​​​​缓存替换策略 先进先出 (F…

C与C++的三种区分方式

1、单个字符的sizeof大小 在C和C中,单个字符(char类型)的大小通常是1字节(8位),但这取决于编译器和目标平台。这是一种特别的区分方式,特别定义的。 2、是否有__cplusplus __cplusplus是一个预…

【html+css 绚丽Loading】000025 玄机翻转棱

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

等保2.0 | Apache Tomcat中间件测评

这里就谈谈等保2.0要求,对应到Apache Tomcat中间件的一些条款要求。 安装步骤略过,我们直接看等保中涉及的一些参数。 首先,做测评的时候我们先要记录相应的软件版本: 查看版本,在tomcat目录下执行/bin/catalina.sh…

是否应该使用WordPress自动更新的功能

开源程序例如WordPress,使许多人能够轻松创建自己的网站。然而,却存在一个棘手的问题是黑客攻击。开源的性质及其安全透明性让黑客、机器人和脚本小子提供了不断攻击的机会。防止WordPress网站被黑的首要方法是保持WordPress版本、主题和插件的更新。对于…

突发性网络攻击的应对策略

应对突发性网络攻击,推动情报工作转型是重中之重,核心工作在于侦测 (detecting) 与回应 (respond)。负责任和安全的情报政策、程序与工作机制是满足网络安全治理任务的信息基础。正 如美国中情局原局长约翰杜奇提到,“( 网络突然袭击 ) 这种…