当前位置: 首页 > news >正文

LVS负载均衡群集:Nginx+Tomcat负载均衡群集

目录

一:案例:部署Tomcat

1.案例分析

(1)案例概述

1.2案例前置知识点

(1)Tomcat 简介

(2)应用场景

1.3案例环境

(1)本案例环境

2.案例实施

2.1实施准备

(1)关闭firewalld 防火墙。

(2)在安装Tomcat之前必须先安装JDK

2.2查看JDK是否安装

2.3安装配置 Tomcat

(1)Tomcat 的安装和配置步骤如下:

解压 apache-tomcat-9.0.8.tar.gz包。​编辑(2)解压后生成 apache-tomcat-9.0.8 文件夹,将该文件夹移动到/usr/local/下,并 改名为 tomcat9。​编辑(3)启动 tomcat

(4)打开浏览器访问测试:http:/192.168.10.102:8080/,如果出现如图所示的界 面,则表示 Tomcat 已经启动成功。

2.4 Tomcat 配置相关说明

(1)主要目录说明

(2)配置文件说明

2.5 Tomcat 主配置文件说明

2.6Tomcat Server的组成部分说明

2.7建立 Java 的 Web 站点

(1)在根目录下建立一个web目录,并在里面建立一个webapp1 目录,用于存放网站文 件。​编辑

(2)在 webapp1 目录下建立一个 index.jsp 的测试页面。

(3)修改Tomcat的 server.xml 文件。

(4)关闭Tomcat,再重新启动

(5)确认 Web 站点

二.案例:Nginx+Tomcat 负载均衡、动静分离群集

1.案例分析

1.1案例概述

2.案例实施

2.1 Tomcat2 server 配置

2.2Nginx 服务器配置

(1)关闭防火墙。​编辑

(2)安装相关软件包。​编辑

(3)解压并安装 Nginx。

(4)配置 nginx.conf。

2.3测试效果


一:案例:部署Tomcat

1.案例分析

(1)案例概述

           京北点指科技有限公司发布V3版移联建站管理系统,该项目为Java 语言开发的Web 站点。目前,IBM 的 WebSphere 及Oracle 的 WebLogic 占据了市面上 Java 语言 Web 站点的 大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司 的 Web 场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。
             Tomcat 自 5.x版本以来,其性能上已经得到了大幅的提升,再加上其开放性的框架和 可二次开发等特性,已经完全可以用在访问量不是很大的生产环境下。 目前,大多数用于 JSP 技术开发的电子商务网站基本应用了 Tomcat,而且 Tomcat 的Servlet 和 JSP 这两种 API 也完全可以适用于 V3 版移联建站管理系统。

1.2案例前置知识点

(1)Tomcat 简介

项目描述
名称由来Tomcat最初由Sun的软件构架师詹姆斯·邓肯·戴维森开发,后成为Apache开源项目。命名灵感来自O'Reilly动物封面传统,希望项目能“自己照顾自己”,故选用“Tomcat”(公猫)。
早期名称研发初期项目名为Catalina,安装后相关目录和文件仍保留此名称,是配置Tomcat的重要部分。
Logo与吉祥物设计为一只公猫形象,O'Reilly出版的Tomcat书籍封面也采用公猫素描。
开发者詹姆斯·邓肯·戴维森(James Duncan Davidson)
归属由Sun贡献给Apache软件基金会

(2)应用场景

项目描述
服务器类型免费、开源的轻量级Web应用服务器
适用场景中小型系统、并发访问用户较少的场合,开发和调试JSP程序的首选
功能特点可作为Servlet和JSP容器运行,支持动态内容处理;处理静态HTML的能力较弱,通常与Apache/Nginx配合使用(静态资源由前端服务器处理)
性能定位专注于动态内容处理,适合作为后端服务独立运行
对比与Apache/Nginx相比:静态处理能力较弱,但作为Java应用容器更高效

如图所示:

1.3案例环境

(1)本案例环境

案例环境:

主机操作系统IP地址应用
Tomcat 服务器OpenEuler 24192.168.10.102apache-tomcat-9.0.8

2.案例实施

2.1实施准备

(1)关闭firewalld 防火墙。

(2)在安装Tomcat之前必须先安装JDK

         JDK 的全称是 Java Development Kit,是 Sun 公司免费提供的 Java 语言的软件开发工具包,其中包含 Java 虚拟机(JVM)。编写好的Java 源程序经过编译可形成Java 字节码,只要安装了 JDK,就可以利用 JVM 解释这些字节码文 件,从而保证了Java 的跨平台性。
        在平台兼容性方面,JDK 作为解释字节码文件并据此调用操作系统 API 实现对应功Java 虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat 也具有上述特征,默认情况下 JDK 已经安装,所以需要预先下载 Tomcat,本章中所使用的 Tomcat 软件的源码包为 apache-tomcat-9.0.8.tar.gz。

2.2查看JDK是否安装

运行 java -version 命令査看 Java 是否安装。如果没有安装需要自行下载安装

2.3安装配置 Tomcat

(1)Tomcat 的安装和配置步骤如下:

解压 apache-tomcat-9.0.8.tar.gz包。


(2)解压后生成 apache-tomcat-9.0.8 文件夹,将该文件夹移动到/usr/local/下,并 改名为 tomcat9。

(3)启动 tomcat

Tomcat 默认运行在 8080 端口,运行 netstat 命令査看 8080 端口监听的信息

(4)打开浏览器访问测试:http:/192.168.10.102:8080/,如果出现如图所示的界 面,则表示 Tomcat 已经启动成功。

如果想关闭 Tomcat,则运行/usr/local/tomcat9/bin/shutdown.sh 命令

2.4 Tomcat 配置相关说明

Tomcat 的主目录为/usr/local/tomcat9/。

(1)主要目录说明

目录说明
bin/存放Windows或Linux平台上启动和关闭Tomcat的脚本文件(如startup.shshutdown.sh)。
conf/存放Tomcat的全局配置文件,如server.xml(核心配置)、web.xml(默认应用配置)。
lib/存放Tomcat运行所需的库文件(JAR包),支持服务器和Web应用运行。
logs/存放Tomcat运行时生成的日志文件(如访问日志、错误日志),用于故障排查。
webapps/Tomcat默认的Web应用部署目录,存放项目文件(如WAR包)及自带示例程序。
work/存放JSP文件编译后生成的Servlet源文件和class文件(临时工作目录)。

(2)配置文件说明

执行“ll conf/ ”命令,便可看到配置文件清单。

配置文件功能描述
catalina.policy权限控制配置文件,用于配置Tomcat的安全策略,特别是当启用SecurityManager时使用。
catalina.propertiesTomcat属性配置文件,用于设置类加载器路径、安全限制等全局属性。
context.xml上下文配置文件,用于定义Web应用的上下文参数,如数据源、会话管理等配置。
logging.properties日志相关配置文件,用于设置日志级别、输出格式和存储路径等。
server.xmlTomcat的主配置文件,用于配置服务器端口、连接器(Connector)、虚拟主机(Host)等核心组件。
tomcat-users.xml管理用户配置文件,用于配置访问Tomcat管理界面(如manager-gui)的用户角色和权限。
web.xml全局Web应用配置文件,用于定义Servlet、Filter、MIME类型等,所有Web应用共享此配置。

2.5 Tomcat 主配置文件说明

       server.xml 为 Tomcat 的主要配置文件,通过配置该文件,可以修改 Tomcat 的启动端 口、网站目录、虚拟主机、开启 https 等重要功能。
         整个 server.xml 由以下结构构成:<Server>、<Service>、<Connector />、<Engine>.<Host>、   <Context〉、</Context>、</Host〉、</Engine〉、</Service>和</Server>。以下是默认安装后 server.xml 文件的部分内容,其中<!---->内的内容是注释信息,黑色斜体部分是需要注意和需要经常更改的部分。

配置项参数/属性功能说明默认值/示例
Server关闭端口port="8005"用于接收关闭Tomcat的指令,默认仅允许本机访问(telnet 127.0.0.1 8005)。8005
HTTP连接器port="8080"Tomcat默认HTTP服务端口,处理浏览器请求。可通过修改此端口避免冲突。8080
protocol="HTTP/1.1"使用HTTP/1.1协议。
connectionTimeout="20000"连接超时时间(毫秒)。20000(20秒)
redirectPort="8443"若请求需HTTPS安全跳转,重定向到此端口。8443
AJP连接器port="8009"AJP协议端口,用于与Apache/Nginx等前端服务器集成。8009
protocol="AJP/1.3"使用AJP 1.3协议。
虚拟主机配置<Host name="localhost">定义默认虚拟主机,name为主机名。localhost
appBase="webapps"指定Web应用部署目录。webapps
unpackWARs="true"自动解压WAR包部署。true
autoDeploy="true"自动部署新增或修改的应用。true
访问日志配置<Valve className="...AccessLogValve">记录访问日志,包括客户端IP、请求时间、响应状态等。
directory="logs"日志存储目录。logs
prefix="localhost_access_log"日志文件名前缀。localhost_access_log
pattern="%h %l %u %t &quot;%r&quot; %s %b"日志格式:客户端IP、用户、时间、请求行、状态码、传输字节数。common等效格式

2.6Tomcat Server的组成部分说明

组件功能描述典型配置/示例
Server代表整个Catalina Servlet容器,是Tomcat的最顶层元素,包含一个或多个Service。<Server port="8005" shutdown="SHUTDOWN">
Service由一个或多个Connector和一个Engine组成,用于处理Connector接收的客户端请求。<Service name="Catalina">
Connector在指定端口监听客户端请求,并将请求传递给Engine处理。分为HTTP Connector和AJP Connector两种类型。HTTP: <Connector port="8080" protocol="HTTP/1.1">
AJP: <Connector port="8009" protocol="AJP/1.3">
Engine处理所有Connector接收的请求,可配置多个虚拟主机(Host)。默认将无法匹配的请求交给默认Host处理。<Engine name="Catalina" defaultHost="localhost">
Host代表一个虚拟主机,与域名匹配。每个Host可部署多个Web应用(Context),通过“最长匹配”规则将请求交给对应的Context处理。<Host name="localhost" appBase="webapps">
Context对应一个Web应用,包含一个或多个Servlet。是请求处理的最终单元。<Context path="/example" docBase="example.war">

2.7建立 Java 的 Web 站点

执行下面步骤可以建立 Java 的 Web 站点。

(1)在根目录下建立一个web目录,并在里面建立一个webapp1 目录,用于存放网站文 件。

(2)在 webapp1 目录下建立一个 index.jsp 的测试页面。

(3)修改Tomcat的 server.xml 文件。

定义一个虚拟主机,并将网站文件路径指向已经建立的/web/webapp1,在 host 段增加
context 段。

(4)关闭Tomcat,再重新启动

(5)确认 Web 站点

通过浏览器访问 http://192.168.10.102:8080/, 出现如图所示的页面,说明该Tomcat 站点已经配置成功,并且已经能够运行JSP了。

二.案例:Nginx+Tomcat 负载均衡、动静分离群集

1.案例分析

1.1案例概述

           通常情况下,一台Tomcat 站点由于可能出现单点故障及无法应付过多客户复杂多样的 请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善 Web 站点 架构。
           Nginx 是一款非常优秀的 http 服务器软件,它能够支持高达 50000 个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用 Nginx 服务器作为后端网站程序的反向代理及负载均衡器,来提升整 个站点的负载并发能力。
           Nginx 是一个非常强大的静态 web 服务,Tomcat 处理动态请求效率不高,而一般网站大 多数的内容都是静态文件(如图片、html、css、js 等),经过 Nginx 前端的反向代理加速 和过滤,后端Tomcat 处理请求的压力便可大大减少,只需负责处理动态内容就可以了。在 性能与稳定性的权衡下,使用 NginxtTomcat 搭配便可让它们在各自擅长的领域大展拳脚。
      本案例介绍以 Nginx 作为负载均衡器、静态页面处理,Tomcat 作为应用服务器的负载 群集、动态页面处理的设置方法。网站拓扑架构如图所示。

案例表环境:

主机名称操作系统IP地址应用
Tomcat1 服务器OpenEuler24192.168.10.102apache-tomcat-9.0.8
Tomcat2 服务器OpenEuler24192.168.10.103apache-tomcat-9.0.8
Nginx 服务器OpenEuler24192.168.10.101nginx-1.26.3

2.案例实施

2.1 Tomcat2 server 配置

Tomcat2 server 配置方法基本同 Tomcatl,其中包括:

(1)关闭防火墙。
(2)确认是否安装 JDK,JAVA 版本与 Tomcatl server 保持一致。
(3)安装配置 Tomcat,版本与 Tomcatl server 保持一致。

(4)创建/web/webapp1 日录,修改 Tomcat 配置文件 server.xml,将网站文件目录更改 到/web/webapp1/路径下。
(5)在/web/webapp1/路径下建立 index.jsp,为了区别将测试页面 index.jsp 的内容更改如下。

(6)启动 Tomcat,浏览器访问 Tomcat2 server, 测试 http://192.168.10.103:8080/。

2.2Nginx 服务器配置

在 Nginx 服务器 192.168.10.101上安装 Nginx,反向代理到两个 Tomcat 站点并实现负载均衡。

(1)关闭防火墙。

 

(2)安装相关软件包。

(3)解压并安装 Nginx。

(4)配置 nginx.conf。

配置命令如下:

下面是编辑Nginx静态页面文件。

把 Nginx 的默认站点通过 proxy_pass 方法代理到了设定好的 tomcat_server 负载均衡服务器组上。配置完整的 nginx.conf 文件内容如下。

下面在 Nginx 上准备静态图片。

测试 Nginx 配置文件是否正确。

启动Nginx服务。

查看Nginx服务进程。

nginx 查看端口号及 PID 进程号。

2.3测试效果

测试类型测试步骤预期结果实际结果
静态页面测试1. 浏览器访问 http://192.168.10.101/
2. 观察页面内容。
显示Nginx默认静态页面,内容为“这是个静态页面”。成功显示静态页面,内容与预期一致。
负载均衡测试1. 浏览器访问 http://192.168.10.101/index.jsp
2. 多次刷新页面。
页面在test1test2之间轮询切换(权重相同),且能正常加载静态图片。首次访问显示test1页面,刷新后显示test2页面,轮询功能正常。

相关文章:

  • 4-STM32F103的串口中断与空闲中断接收数据
  • 装配基本操作与标准配合关系-装配体设计技能(1)
  • 【案例拆解】米客方德 SD NAND 在车联网中(有方模块)的应用:破解传统 TF 卡振动脱落与寿命短板
  • 地标“金”字招牌再升级:赤水金钗石斛携手世酒中菜开启新纪元
  • AI Agent开发与安全
  • 【网络安全】ios逆向一般整理
  • Python 中设置布尔值参数为 True 来启用验证
  • 全球首款5G-A人形机器人亮相,通信与AI融合进入新阶段
  • ACR窃密木马改头换面,更名重构后规避能力升级
  • RPGMZ游戏引擎 如何手动控制文字显示速度
  • 8年java开发从零学习人工智能(深度学习)--pp飞桨(百度自研开源框架)
  • 领码 SPARK 融合平台赋能工程建设行业物资管理革新——数智赋能,重塑中国模式新范式
  • leetcode-3443. K次修改后的最大曼哈顿距离
  • Vue 滑动验证组件
  • OPENGLPG第九版学习 - 纹理与帧缓存 part1
  • conda导出环境文件requirements.txt
  • Python OpenCV 模板匹配的一些应用场景和方法思考,浅析KAZE特征匹配对比
  • Odoo 18进阶开发:打造专业级list,kanban视图Dashboard
  • Cmake入门及CMakeLists.txt 语法介绍
  • 数据库从零开始:MySQL 中的 DDL 库操作详解【Linux版】
  • 阿里云网站建设基本流程/线上网络平台推广
  • vip视频解析网站建设/seo综合查询怎么进入网站
  • 蚌埠市做家教网站/百度seo不正当竞争秒收
  • ICP备案网站服务内容/吉林网络推广公司
  • wordpress 站点收录/排名优化价格
  • 江宁城乡建设局网站/88个seo网站优化基础知识点