Nginx 和 Tomcat 实现负载均衡

news2024/12/22 20:44:09

Nginx 和 tomcat 实现负载均衡

🏆荣誉认证:51CTO博客专家博主、TOP红人、明日之星;阿里云开发者社区专家博主、技术博主、星级博主。

💻微信公众号:微笑的段嘉许

📌本文由微笑的段嘉许原创!

🎉欢迎关注🔎点赞👍收藏⭐留言📝

📆CSDN首发时间:🌴2023年2月日25🌴

✉️坚持和努力一定能换来诗与远方!

🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

本文介绍

​ 在上一篇文章中已经介绍了Nginx服务器的安装配置,感兴趣的小伙伴可以点击连接阅读配置Nginx虚拟主机,本文主要介绍Tomcat及Nginx + Tomcat负载均衡群集。


📌导航小助手📌

文章目录

  • Nginx 和 tomcat 实现负载均衡
  • 📝理论讲解:
    • Tomcat简介
    • 应用场景
    • Tomcat Server的组成部分说明
  • 📖实验配置与实现:
  • 一、Nginx 服务器开启路由转发功能,客户端和 tomcat 服务器配置 IP 地址设置正确
    • 1、配置 Nginx 服务 IP 地址和路由转发功能
    • 2、第一台 tomcat 服务器配置 IP 地址
    • 3、第二台 tomcat 服务器配置 IP 地址
    • 4、客户端配置 IP 地址和 DNS
  • 二、安装 tomcat 服务器配置网站
    • 1、安装第一台 tomcat 服务器
    • 2、配置第一台 tomcat 服务器
    • 3、安装第二台 tomcat 服务器
    • 4、配置第二台 tomcat 服务器
  • 三、安装 Nginx 代理和负载均衡功能配置 DNS 服务器域名解析,客户端使用域名 www.nlb.com 负载均衡访问网站
    • 1、安装 Nginx 反向代理依赖软件和 DNS 服务
    • 2、配置 Nginx 代理服务器
    • 3、修改 Nginx 主配置配置支持负载均衡群集
    • 4、配置 DNS 服务器
    • 5、客户端访问验证

📝理论讲解:

Tomcat简介

​ 名称由来:Tomcat最初是Sun的软件架构师詹姆斯 · 邓肯 · 戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给APache软件基金会。由于大部分开源项目O’Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(公猫)。而O’Reilly出版的介绍Tomcat的书籍的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。

​ 其实Tomcat最早在开始研发的时候并不叫这个名字,早期Tomcat项目的名字叫Cataline,所以当我们安装完Tomcat后会法相安装路径下面有很多和Cataline有光的目录和文件,而这些文件通常也是我们使用或配置Tomcat的重要文件。

应用场景

​ Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomo cat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。

Tomcat Server的组成部分说明

  • Server元素代表了整个Catalina的server容器

  • Service是这样一个集合:它由一个或多个Connector,以及一个Engine(负责处理所有Connector所获得的客户请求)组成。

  • Connector:一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回给客户。

    Tomcat有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其他WebServer的请求。

    Coyote Http/1.1 Conector在端口8080处侦听来自客户browse的http请求。

    Coyote JK2 Connector在端口8009 处侦听来自其他WebServer(Apache)的servlet/jsp代理请求。

  • Engine:Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名。

    当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给Host来处理。

    Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给默认Host来处理。

  • Host:Host代表一个Virtual Host,即虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配。

    每个虚拟主机下都可以部署(deploy)一个后者多个Web App,每个Web App对应一个Context,有一个Context path。

    当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是"最长匹配",所以一个path==" "的Context将成为该Host的默认Context匹配

  • Context:一个Context对应一个Web Application,一个Web Application由一个或者多个Servlet组成。


📖实验配置与实现:

拓扑图

image-20221104123129549

推荐步骤

  • Nginx 服务器开启路由转发功能,客户端和 tomcat 服务器配置 IP 地址设置正确

  • 安装 tomcat 服务器配置网站

  • 安装 Nginx 代理和负载均衡功能配置 DNS 服务器域名解析,客户端使用域名www.nlb.com 负载均衡访问站

实验步骤

一、Nginx 服务器开启路由转发功能,客户端和 tomcat 服务器配置 IP 地址设置正确

1、配置 Nginx 服务 IP 地址和路由转发功能

1)Nginx 服务器生成网卡配置文件

image-20221104123142324

2)配置内网网卡 IP 地址

image-20221104123151994

image-20221104123156999

3)配置外网网卡 IP 地址

image-20221104123204454

image-20221104123210293

4)重新启动服务查看 IP 地址

image-20221104123216052

5)配置路由转发功能开启路由功能

image-20221104123223333

image-20221104123229230

2、第一台 tomcat 服务器配置 IP 地址

1)第一台 tomcat 服务器配置 IP 地址

image-20221104123253506

image-20221104123300096

2)重新启动网卡服务查看配置的网关

image-20221104123306079

3、第二台 tomcat 服务器配置 IP 地址

1)修改网卡置文件

image-20221104123312009

image-20221104123317133

2)重启网卡服务查看配置的网关

image-20221104123324791

4、客户端配置 IP 地址和 DNS

1)客户端配置 IP 地址和 DNS

image-20221104123330939

2)查看配置的 IP 地址

image-20221104123339343

二、安装 tomcat 服务器配置网站

1、安装第一台 tomcat 服务器

1)切换到程序光盘

image-20221104123347555

2)挂载程序光盘到/mnt

image-20221104123353813

3)解压 tomcat 移动 tomcat 安装位置

image-20221104123405272

2、配置第一台 tomcat 服务器

1)创建网站服务器根目录设置网站主页 image-20221104123412690

2)修改 tomcat 主配置文件加载网站根目录

image-20221104123418255

image-20221104123423377

3)启动 tomcat 服务查看服务运行状态

image-20221104123431807

3、安装第二台 tomcat 服务器

1)切换到程序光盘

image-20221104123439078

2)挂载程序光盘到/mnt

image-20221104123446827

3)解压 tomcat 移动 tomcat 安装位置

image-20221104123453083

4、配置第二台 tomcat 服务器

1)创建网站服务器根目录设置网站主页 image-20221104123459906

2)修改 tomcat 主配置文件加载网站根目录

image-20221104123506177 image-20221104123512712

3)启动 tomcat 服务查看服务运行状态

image-20221104123520539

三、安装 Nginx 代理和负载均衡功能配置 DNS 服务器域名解析,客户端使用域名 www.nlb.com 负载均衡访问网站

1、安装 Nginx 反向代理依赖软件和 DNS 服务

1)切换到系统光盘

image-20221104123529676

2)挂载系统盘到/mnt 目录

image-20221104123535419

3)删除系统自带 yum 源配置本地 yum 源

image-20221104123541504

4)安装依赖程序 image-20221104123549001

5)创建管理 nginx 服务用户

image-20221104123555143

2、配置 Nginx 代理服务器

1) 切换到程序光盘 image-20221104123600747

2)挂载程序光盘到/mnt 目录

image-20221104123608762

3)配置 nginx

image-20221104123614996

4)编译安装 Nginx

image-20221104123620594

5)优化 Nginx 服务命令

image-20221104123627540

3、修改 Nginx 主配置配置支持负载均衡群集

1)修改 Nginx 主配置文件

image-20221104123632195

2)检查 Nginx 主配置文件是否错误

image-20221104123647833

3)启动服务查看端口

image-20221104123655219

4、配置 DNS 服务器

1)修改 DNS 服务器主配置文件检查是否错误

image-20221104123701693

image-20221104123707317

image-20221104123712974

2)配置 DNS 服务于数据库文件

image-20221104123719245

image-20221104123724182

image-20221104123731090

3)启动服务设置开机自动启动

image-20221104123737410

image-20221104123742485

5、客户端访问验证

1)客户端第一次访问网站服务器

image-20221104123748035

2)客户端第二次访问网站服务器

image-20221104123753894


🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/371040.html

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

相关文章

【模拟集成电路】电荷泵(CP)设计

电荷泵(CP)设计前言一、电荷泵(CP)原理(1)电流失配问题(2)开关管的时钟馈通问题(3)电荷注入问题二、电荷泵(CP)电路三、电荷泵性能测试…

springboot+jersey+tomcat实现跨域方式上传文件到服务器

前言 在服务器上,当我们启动了tomcat,就可以以 http://ip地址:8080/文件路径/文件名 的方式,进行访问到我们服务器上处于tomcat的webapps文件夹下的文件 于是为了可以往上面加文件,我们有两种方式,一种就是直接复制文…

ABAP 辨析CO|CN|CA|NA|CS|NS|CP|NP

1、文档说明 本篇文档将通过举例,解析字符的比较运算符之间的用法和区别,涉及到的操作符:CO|CN|CA|NA|CS|NS|CP|NP 2、用法和区别 用法总览 以下举例,几乎都使用一个字符变量和一个硬编码字符进行对比的方式,忽略尾…

OAK相机如何将yoloV7模型转换成blob格式?

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…

centos7安装

centos7安装制作U盘启动盘下载镜像下载 UltralISO制作启动盘使用U盘安装系统修改模式为 UEFI调整BOOT option保存重启进入安装界面安装图形界面安装搜狗输入法制作U盘启动盘 下载镜像 去官网下载镜像,找到 mirrors链接(速度快) 选择一个中…

OpenAI是什么

OpenAI是一家非营利性人工智能研究公司,致力于研究人工智能和其他机器学习技术。OpenAI 会和谷歌、苹果、IBM 等知名公司创办的其它一系列项目一道探索先进计算机技术,解决面部识别或语言翻译等问题。 OpenAI 是由马斯克、奥特曼等人 2015 年联合创办的人…

奔四的路上,依旧倔强的相信未来

本文首发于2022年12月31日 原标题: 奔四的路上,依旧倔强的相信未来!–我的2022年终总结 读大学那几年,一直保持着写日记和做计划的习惯,还记得大学毕业刚开始打工的时候,我的床头的墙上一定会画一张表,写上一个月的计划和一周的计划 计划也会有完不成的时候,但加深了…

【Hello Linux】初识冯诺伊曼体系

作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:简单介绍冯诺伊曼体系 冯诺伊曼体系 冯诺伊曼体系结构的合理性 我们在Linux的第一篇博客中讲解了第一台计算机的发明是为了解决导弹的…

实例7:树莓派呼吸灯

实例7:树莓派呼吸灯 实验目的 通过背景知识学习,了解digital与analog的区别。通过GPIO对外部LED灯进行呼吸控制,熟悉PWM技术。 实验要求 通过python编程,用GPIO控制LED灯,使之亮度逐渐增大,随后减小&am…

交换字符使得字符串相同[贪心]

贪心前言一、交换字符使得字符串相同二、贪心1、分析问题的思路过程2、go总结参考资料前言 贪心算法,必须先看清楚有哪些选择,才能在这些选择的基础上进行贪心,做最优选择,除此之外,还得看局部最优会不会形成全局最优…

8 百度接口

0 建议学时 2学时 1 简介 百度人工智能平台-站在巨人的肩膀上 https://ai.baidu.com/ 控制台->立即注册 百度人工智能平台 APP Key 和 Secret Key AI接入指南 https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjgn3 百度智能云视频参考 https://abcxueyuan.baidu.com/#/…

2023年最新详细教程!手把手教你搭建Hexo + GitLab个人博客

文章目录前言一、安装和配置环境1.安装 Git2.安装 Node.js二、新建博客项目1.GitLab配置CI/CD自动化部署1.1 GitLab新建项目1.2 GitLab自建Runners1.2.1 下载gitlab-runner1.2.2 注册Runners1.2.3 安装Runners并启动1.3 添加.gitlab-ci.yml文件2.拉取和推送hexo blog2.1 拉取he…

基于遗传算法的配电网故障定位(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

sonarqube 外部扫描器 go vet golangci-lint 无法导入问题

首先,请看[外部分析报告]各种语言的报告生成 go vet 2> govet-report.out#没有golangci-lint,我从网上找到了 golangci-lint run --out-format checkstyle ./... > golangci-lint-report.xml值得注意的是,貌似不支持目录,仅…

6.2 负反馈放大电路的四种基本组态

通常,引入交流负反馈的放大电路称为负反馈放大电路。 一、负反馈放大电路分析要点 如图6.2.1(a)所示电路中引入了交流负反馈,输出电压 uOu_OuO​ 的全部作为反馈电压作用于集成运放的反向输入端。在输入电压 uIu_IuI​ 不变的情况下,若由于…

mysys2+minGW方案编译ffmpeg的最佳实践

一、Win10 64bit编译环境的建立1)从http://www.msys2.org/下载 msys2-x86_64-xxx.exe2) 安装msys2到默认路径 C:\msys64\3) 运行MSYS2 w644)执行 pacman -Syu 更新系统当出现提示时,选择y5) 当窗口关闭时,重…

JavaScript函数

目录 定义函数 调用函数 函数参数 函数返回值 匿名函数 箭头函数 使用JavaScript编程时,函数是一种非常有用的编程结构,用于执行特定的任务并返回结果。函数可以重复使用,因此您只需编写一次代码,即可在需要时多次调用该代码…

深入解析dubbo的延迟暴露

一、引子 最近搭建了一个新的Java工程,主要是提供dubbo服务给其他业务用的。突然想起之前dubbo服务都会配置延迟暴露来解决平滑发布的问题,但是好像现在新的Java项目都没有配置延迟暴露了,觉得很奇怪,所以去研究了一下关于dubbo延…

Delete `␍`eslint(prettier/prettier) in vscode 的解决方案

错误描述从 Github 仓库拉取代码,使用 vscode 打开,页面报错,每一行都爆红 (如下图)问题原因由于历史原因,windows下和linux下的文本文件的换行符不一致。Windows在换行的时候,使用了换行符CRLF…

ROG配置ubuntu20.04.5双系统要点

win11ubuntu20.04.5 1. BIOS设置 开机长按F2进入bios设置,修改advanced参数: boot -> 关闭fast bootsecurity -> 关闭secure boot设置VMD controller为Disabled(其他电脑是修改硬盘的SATA和ACHI模式)。但是改了之后windo…