Nginx是怎么实现负载均衡的?Nginx负载均衡实现案例
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、Nginx 负载均衡实现原理:Nginx 实现负载均衡是通过反向代理来实现的。(1)Nginx 静态处理优势Nginx 处理静态页面的效率远高于 Tomcat 的处理能力;如果 Tomcat 的请
千家信息网最后更新 2026年11月01日Nginx是怎么实现负载均衡的?Nginx负载均衡实现案例
一、Nginx 负载均衡实现原理:
Nginx 实现负载均衡是通过反向代理来实现的。
(1)Nginx 静态处理优势
Nginx 处理静态页面的效率远高于 Tomcat 的处理能力;
如果 Tomcat 的请求量为 1000次,则 Nginx 的请求量为 6000次;
Tomcat 每秒的吞吐量为 0.6 M,Nginx 的每秒吞吐量为 3.6M;
Nginx 处理静态资源的能力是 Tomcat 处理的6倍,优势很大。
(2)Tomcat 主要目录
bin:存放启动和关闭Tomcat脚本
conf:存放Tomcat不同的配置文件
doc:存放Tomcat文档
lib/japser/common:存放Tomcat运行需要的库文件
logs:存放Tomcat执行时的LOG文件
src:存放Tomcat的源代码
webapps:Tomcat的主要Web发布目录
work:存放jsp编译后产生的class文件
(3)Nginx 应用
1、nginx是一款非常优秀的 HTTP 服务器软件:
支持高达 50000个并发连接数的响应;
拥有强大的静态资源处理能力;
运行稳定;
内存、CPU 等系统资源消耗非常低。
2、目前已有很多大型网站都应用 Nginx 服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力。
(4)动静分离原理
1、服务端接受来自客户端的请求中,既有静态资源也有动态资源。
2、设置 nginx 处理静态图片,后端 Tomcat 处理动态页面
修改 Tomcat 端 jsp 文件,指定图片文件;
修改 nginx 配置文件,添加正则处理图片;
创建目录并添加图片(注意项目名称需要和 Java 项目名称相同)
重启 nginx;
浏览器访问测试查看图片是否添加;
分别在 nginx 服务器和 Tomcat 服务器查看日志文件
二、实验案例:
实验拓扑图
(1)网络图总览:

(2)具体案例实验:

角色 IP地址
Nginx 192.168.220.131
Tomcat01 192.168.220.136
Tomcat02 192.168.220.137
实验环境说明:
准备三台虚拟机,一台作为 nginx 代理服务器,用于接收用户的访问请求,两台 Tomcat 服务器(群集);
nginx 将客户端的请求,转发给后台的多台 Tomcat 服务器处理,Tomcat 将请求回应,在通过代理服务器发给客户端;
实验验证:客户端只需要在浏览器上访问代理服务器的地址,不需要访问后台的具体 Tomcat,就能访问到网页信息。
第一步:搭建 Nginx
搭建nginx,之前博客有详细介绍。
第二步:部署两台 Tomcat
(1)配置 JAVA 环境
1、安装 jdk
rpm -ivh jdk-8u201-linux-x64.rpm安装后的位置在:/usr/java/
2、配置环境变量
vim /etc/profile,在文件末尾添加以下代码:
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH使环境变量生效:
source /etc/profile3、使用 java -version 命令检查是否已安装成功
(2)安装和启动 Tomcat
1、解压缩包到指定路径,/usr/local/
tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/2、解压完成后,生成 apache-tomcat-9.0.16 文件夹,改名为 Tomcat
mv apache-tomcat-9.0.16/ tomcat3、为了方便控制 tomcat的开启和关闭,我们可以创建一个软连接
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/4、用 startup.sh 脚本开启tomcat
第三步:Tomcat 中创建测试页面
(1)创建目录
mkdir -p /web/webapp1vim /web/webapp1/index.jsp添加以下内容:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> JSP test1 page <% out.println("Welcome to test site, http://www.test1.com");%>)
(2)指定站点
目录:/usr/local/tomcat/conf
vim server.xml添加以下代码: (3)回到 bin/ 目录下,再重新启动一下 Tomcat
./shutdown.sh ./startup.sh(4)浏览器访问一下网页,检查是否成功
(5)第二台 Tomcat 部署和第一台一模一样,但是为了页面显示区别,在 /web/webapp1/index.jsp 文件中,稍作修改,将 test1 改为 test2
注意:
在企业网中,群集中的 Tomcat 网站内容是一模一样的,客户无论访问到哪个Tomcat,提供的网站都是一致的。但是这边,为了展示实验效果,站点内容不一样,是为了区分在客户端能够看出是哪个Tomcat 提供了服务回应。
第四步:修改 Nginx 配置文件,添加服务器池
(1)文件位置:/usr/local/nginx/conf/nginx.conf
1、添加服务池:
upstream tomcat-server { server 192.168.220.136:8080 weight=1; server 192.168.220.137:8080 weight=1; }2、在 location 段,添加以下代码,意为调用服务池(协议,端口等等)
proxy_pass http://tomcat-server;(2)重启 nginx 服务
killall -1 nginx第五步:客户端测试
这个架构中,nginx 只作为代理服务器而存在,我们作为用户访问网页,根本就不知道后面是哪一台具体提供服务的服务器,只需要将请求发送给 nginx 代理服务器,由 nginx 代理服务器,调用后台的Tomcat 给用户提供回应。
在客户机浏览器上访问 nginx 代理服务器:
我们可以看到,从代理服务器,可以直接访问到群集Tomcat提供的服务。
服务
服务器
文件
代理
处理
客户
目录
静态
实验
图片
资源
配置
客户端
浏览器
环境
网站
能力
页面
浏览
均衡
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网为科技
科技类互联网
科技与互联网发展
猪兼强互联网科技
互联网与新科技
狮子座互联网科技有限公司
壕鑫互联网络科技
时间互联网络科技
互联网科技公司介绍
农村开互联网科技讲堂
北京三清互联网科技
江苏苏星互联网科技有限公司
上海创道互联网络科技有限公司
互联网与数字科技关系
科技互联网行业投资研究
互联网时代科技型公司的机会
互联网科技平台产品运营
重庆科技产业互联网有哪些
六子台科技互联网展会
山东亿川互联网科技有限责任公司
精品咖啡豆
互联网与科技
互联网高科技企业
佩信高科技互联网
科技互联网的估值
半导体行业属于互联网高科技类吗
科技互联网行业投资研究
长沙易易互联网科技有限公司
广东猫王互联网科技有限公司电话
互联网大会出现的黑科技