Nginx+Tomcat 负载均衡(动静分离)集群


一、集群概述

  • 通常情况下,一个 Tomcat 站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等情况,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案
  • Nginx 是一款非常优秀的 http 服务器软件,它能够支持高达 5000 个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU 等系统资源消耗非常低
  • 目前很多大型网站都应用 Nginx 服务器作为后端网站的反向代理及负载均衡器,来提升整个站点的负载并发能力

以 Nginx 作为负载均衡器,Tomcat 作为应用服务器的负载集群,网站拓扑架构如下图所示:
mark
Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发
但是不是把所有的web请求转发,而是将静态页面请求Nginx服务器自己来处理,动态页面请求则转发给后端的Tomcat服务器来处理

但据我们所知,Tomcat是属于轻量级的应用服务器,可接受访问量可能会不足,所以我们需要多台Tomcat服务器,然后通过Nginx配置权重来进行挑选Tomcat服务器去进行处理,负载均衡的一种策略


二、Nginx

Nginx 服务器:

  1. 首页使用精准匹配
  2. 静态页面使用正则匹配自己处理
  3. 动态页面使用正则匹配jsp结尾的请求,使用proxy_pass转发给Tomcat服务器

Nginx 静态处理优势

  1. Nginx处理静态页面的效率远高于Tomcat的处理能力
  2. 若Tomcat的请求量为1000次,则Nginx的请求量为6000次
  3. Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3 .6M
  4. Nginx处理静态资源的能力是Tomcat处理的6倍

Nginx动静分离原理:
mark

  1. 服务端接收来自客户端的请求中,既有静态资源也有动态资源
  2. 静态资源有Nginx提供服务
  3. 动态资源Nginx转发至后端

Nginx配置反向代理的主要参数:

配置后端服务器池,以提供响应数据
upstream 服务器名 {
   }

配置将访问请求转发给后端服务器池名
proxy_pass http://服务器名

三、配置步骤

1.环境

  • VMware 16 Pro(16.1.0)
  • 网络适配器为 NAT 模式
  • 网卡配置为静态获取 IP
  • 本地YUM源仓库
  • 源码编译安装
主机 对应 IP地址 所需软件
Nginx Server CentOS 7-1 192.168.126.11 nginx-1.12.2.tar.gz
Tomcat Server1 CentOS 7-2 192.168.126.12 apache-tomcat-9.0.16.tar.gz、jdk-8u201-linux-x64.rpm
Tomcat Server2 CentOS 7-3 192.168.126.13 apache-tomcat-9.0.16.tar.gz、jdk-8u201-linux-x64.rpm

2.部署 Nginx 负载均衡器

cd /opt/
vim nginx.sh

#!/bin/bash

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

yum -y 
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xucf1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值