Nginx+Tomcat负载均衡及动静分离群集的实现

目录
  • Nginx配置反向代理的主要参数
  • 动静分离原理
  • Nginx静态处理优势
  • 配置Nginx+Tomcat负载均衡,动静分离
  • 配置Nginx负载均衡器
  • 部署两台Tomcat
  • 动静分离配置
  • 配置动态页面请求
  • Nginx负载均衡模式

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

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

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

动静分离原理

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

Nginx静态处理优势

Nginx处理静态页面的效率远高于Tomcat的处理能力
若Tomcat的请求量为1000次则Nainx的每秒吞吐量为3.6M

Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M

Nginx处理静态资源的能力是Tomcat处理的6倍

配置Nginx+Tomcat负载均衡,动静分离

Nginx 服务器:192.168.100.102

Tomcat 服务器1:192.168.100.103

Tomcat 服务器2:192.168.100.105:8080 192.168.100.105:8081

配置Nginx 负载均衡器

[root@zzz ~]# systemctl stop firewalld

[root@zzz ~]# setenforce 0

[root@zzz ~]# yum -y install pcre-devel zlib-devel 

openssl-devel gcc gcc-c++ make

[root@zzz ~]# useradd -M -s /sbin/nologin nginx

[root@zzz ~]# cd /opt

[root@zzz opt]# cd nginx-1.12.2/

[root@zzz nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-stream

优化路径

[root@zzz nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

加入systemctl启动服务

[root@zzz nginx-1.12.2]# vim /lib/systemd/system/nginx.service

给与权限 启动服务

[root@zzz nginx-1.12.2]# chmod 754 /lib/systemd/system/nginx.service
[root@zzz nginx-1.12.2]# systemctl start nginx.service
[root@zzz nginx-1.12.2]# systemctl enable nginx.service

部署两台Tomcat

[root@send opt]# systemctl stop firewalld.service
[root@send opt]# setenforce 0
[root@send opt]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
[root@send local]# mv jdk1.8.0_91/ jdk1.8
[root@send jdk1.8]# vim /etc/profile

[root@send jdk1.8]# source /etc/profile

动静分离配置

(1)Tomcat1 server 配置

[root@send bin]# mkdir /usr/local/tomcat/webapps/test
[root@send bin]# vim /usr/local/tomcat/webapps/test/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>

(2)Tomcat2 server 配置

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page </title>
</head>
<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>
[root@localhost webapps]# cd ..
[root@localhost tomcat8]# vim conf/server.xml

[root@localhost local]# mkdir tomcat9/webapps/test
[root@localhost local]# cp tomcat8/webapps/test/index.jsp tomcat9/webapps/test/
[root@localhost local]# vim tomcat9/webapps/test/index.jsp

[root@localhost local]# vim tomcat9/conf/server.xml

重启服务。查看端口

开启网页验证

切换到Nginx服务器上

开启网页验证

配置动态页面请求

[root@zzz conf]# vim nginx.conf

重启服务

[root@zzz conf]# systemctl restart nginx.service 

浏览器验证

刷新。看页面跳转,是否实现负载均衡

Nginx 负载均衡模式

rr 负载均衡模式:
每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail_timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效继续探测,一般来说rr可以根据权重来进行均匀分配。

least_conn 最少连接:
优先将客户端请求调度到当前连接最少的服务器。

ip_hash 负载均衡模式:
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的服务请求接受少,所以不建议采用ip_hash模式,session 共享问题可用后端服务的 session 共享代替 nginx 的 ip_hash。

fair(第三方)负载均衡模式:
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

url_hash(第三方)负载均衡模式:
基于用户请求的uri做hash。和ip_hash算法类似,是对每个请求按url的hash结果分配,使每个URL定向到同一个后端服务器,但是也会造成分配不均的问题,这种模式后端服务器为缓存时比较好。

到此这篇关于Nginx+Tomcat负载均衡及动静分离群集的实现的文章就介绍到这了,更多相关Nginx Tomcat负载均衡及动静分离群集内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx+Tomcat负载均衡集群的实现示例

    目录 引言 一.案例概述 二.环境部署 三.Nginx 主机安装 四.Tomcat 安装及配置 1. 安装 Tomcat 2. Tomcat 服务器1配置 3. Tomcat 服务器2配置 五.Nginx server 配置 六.验证结果 总结 引言 通常情况下,一个 Tomcat 站点由于可能出现单点故障以及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境中,所以需要一套更可靠的解决方案来完善 Web 站点架构. 一.案例概述 Nginx 是一款非常优秀的 http 服务器软件,它

  • Nginx+Tomcat搭建高性能负载均衡集群的实现方法

    一.    目标实现高性能负载均衡的Tomcat集群: 二.步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3.然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml: 共需修改3处端口: 当然第二台Tomcat也一样,如下图: 4.然后启动两个Tomcat,并访问

  • nginx+tomcat实现负载均衡,使用redis session共享

    环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到

  • Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解

    由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是有错,现在整理了些有用的,备忘. 环境:Centos6.5.JDK1.8.Tomcat8.Nginx1.10.1 准备材料: 1.JDK1.8安装包jdk-8u102-linux-x64.tar.gz 2.Tomcat8安装包apache-tomcat-8.0.37.tar.gz 3.Nginx1.10安装包nginx-1.10.1.tar.gz 1.JDK安装配置 解压并安装到/usr/local/jdk [r

  • Nginx与Tomcat实现动静态分离和负载均衡

    本文介绍了Nginx与Tomcat实现动静态分离和负载均衡,所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从而达到动静页面访问时通过不同的容器来处理. 一.Nginx简介: Nginx一个高性能的HTTP和反向代理服务器, 具有很高的稳定性和支持热部署.模块扩展也很容易.当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器,N

  • Nginx+Tomcat高性能负载均衡集群搭建教程

    Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.其占有内存少,并发能力强,在同类型的网页服务器中表现较好.Nginx可以在大多数Unix Linux OS上编译运行,并有Windows移植版.一般情况下,对于新建站点,建议使用最新稳定版作为生产版本. 单个Tomcat最大支持在线访问是500左右,要通知支持更多的访问量一个Tomcat就没法做到了.在这里我们采用集群部署方式,使用多个Tomcat,反向代理使用Nginx. 架构如下: 准备工作 a

  • Nginx+Tomcat负载均衡集群安装配置案例详解

    目录 前言 一.Nginx+Tomcat 二.配置Nginx服务器 三.部署Tomcat应用服务器 总结 前言 介绍Tomcat及Nginx+Tomcat负载均衡集群,Tomcat的应用场景,然后重点介绍Tomcat的安装配置.Nginx+Tomcat负载均衡集案列是应用于生产环境的一套可靠的Web站点解决方案. 一.Nginx+Tomcat 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完

  • Nginx+Tomcat负载均衡及动静分离群集的实现

    目录 Nginx配置反向代理的主要参数 动静分离原理 Nginx静态处理优势 配置Nginx+Tomcat负载均衡,动静分离 配置Nginx负载均衡器 部署两台Tomcat 动静分离配置 配置动态页面请求 Nginx负载均衡模式 Nginx配置反向代理的主要参数 upstream服务池名{}配置后端服务器池,以提供响应数据 proxy_pass http://服务池名配置将访问请求转发给后端服务器池的服务器处理 动静分离原理 服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Ng

  • nginx实现负载均衡和动静分离

    nginx配置(windows配置),供大家参考,具体内容如下 以下是我的项目用到的一份配置文件 #user nobody; worker_processes 4; #进程数,一般cpu是几核就写多少 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024;#单

  • Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作

    下载Tomcat8镜像 [root@localhost ~]# docker search tomcat8 NAME DESCRIPTION STARS OFFICIAL AUTOMATED ashince/tomcat8 Tomcat GUI Manager pre-configured docker ima- 5 podbox/tomcat8 2 [OK] 这个tomcat包含了jdk而且启动了可以直接访问,自己启动了8080端口 [root@localhost ~]# docker pul

  • Nginx+Tomcat实现负载均衡、动静分离的原理解析

    一.Nginx 负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现 反向代理(Reverse Proxy) 是指以 代理服务器(例:Nginx) 来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器(例:Tomcat),并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器(例:Nginx)对外就表现为一个反向代理服务器. 我们从客户端的视野来看,实际上客户端并不知道真实的服务提供者是哪台服务器,它只知道它请求了反向代理服务器.因

  • Nginx负载均衡以及动静分离的原理与配置

    目录 一.Nginx实现负载均衡原理 二.Nginx动静分离原理 Nginx 静态处理优势 三.Nginx + Tomcat 动静分离.负载均衡配置步骤 环境准备: 动静分离配置 Nginx 负载均衡模式 总结 一.Nginx实现负载均衡原理 Nginx实现负载均衡是通过反向代理实现 Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发. 但是不是把所有的web请求转发,而是将静态页面请求Nginx服务器自己来处理,动态页面请求,转发给后端的Tomcat

  • Nginx Tomcat负载均衡动静分离原理解析

    目录 nginx实现负载均衡原理 nginx动静分离原理 nginx静态处理优势 nginx+tomcat动静分离.负载均衡配置 1.准备三台服务器,nginx作为负载均衡器,tomcat作为应用服务器 2.部署nginx负载均衡器 3.部署两台tomcat应用服务器 4.动静分离配置 5.测试效果 nginx负载均衡中4层代理和7层代理 4层代理和7层代理 代理原理 优缺点对比 nginx支持的代理类型 nginx负载均衡模式 Nginx 四层代理配置 nginx实现负载均衡原理 Nginx实

  • Nginx+tomcat负载均衡集群的实现方法

    实验环境如下 这里需要准备4台服务器(1台nginx.2台tomcat做负载.一台MySQL做数据存储) 准备软件包如下: 软件包地址连接: 链接: https://pan.baidu.com/s/1Zitt5gO5bDocV_8TgilvRw 提取码: ny1r nginx配置(172.16.1.54) 1.安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c++ 2.创建nginx运行用户 useradd -M -s /sbin/nolog

  • linux下Nginx+Tomcat负载均衡配置方法

    Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz ;mkdir -p /usr/java/ ;mv jdk1.7.0_25/ /usr/java/ 下. #然后配置

随机推荐