nginx负载均衡

nginx 负载均衡 最典型的一个例子:用户第一次进入一个系统是需要进行登录身份验证的,首先将请求跳转到Tomcat1服务器进行处理,登录信息是保存在Tomcat1 上的,这时候需要进行别的操作,那么可能会将请求轮询到第二个Tomcat2上,那么由于Tomcat2 没有保存会话信息,会以为该用户没有登录,然后继续登录一次,如果有多个服务器,每次第一次访问都要进行登录,这显然是很影响用户体验的。由于Tomcat1服务器的配置更高点,我们希望该服务器接受更多的请求,而 Tomcat2 服务器配置低,希望其处理相对较少的请求。.... 阅读详情

如果在同一个域名下有多台服务器提供服务,此时需要nginx负载均衡。

1.需求

nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至tomcat服务器。

nginx负载均衡服务器:192.168.25.141

tomcat1服务器:192.168.137.4:8080

tomcat1服务器:192.168.137.4:8081

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #配置负载均衡:算法采用轮询的方法  
  2.    #配置负载均衡  
  3.     upstream tomcat_server5 {  
  4. server 192.168.137.4:8080;  
  5. server 192.168.137.4:8081;  
  6.     }  
  7.     #配置一个虚拟主机4  
  8. server {  
  9.     listen 80;  
  10.     server_name www.zhang4.com;  
  11.   
  12.     location / {  
  13.           #域名www.zhang4.com的请求转发到tomcat_server5中的任意一台服务器上  
  14.           proxy_pass http://tomcat_server5;  
  15.           index index.jsp index.html index.htm;  
  16.     }  
  17.     }  

域名需要配置host文件

192.168.137.4 www.zhang4.com


条件:现有一台老机器,处理能力很差,这时就不能负载均衡了,需要配置权重,来降低老机器的压力

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1.    #配置负载均衡  
  2.     upstream tomcat_server5 {  
  3.        #配置权重时,weight=3:表示如果有4次请求,则有3次都是这台服务器处理,默认权重都是1  
  4. #权重越高,则处理请求的越多  
  5. server 192.168.137.4:8080 weight=3;  
  6. server 192.168.137.4:8081;  
  7.     }  
  8.     #配置一个虚拟主机4  
  9. server {  
  10.     listen 80;  
  11.     server_name www.zhang4.com;  
  12.   
  13.     location / {  
  14.           #域名www.zhang4.com的请求转发到tomcat_server5中的任意一台服务器上  
  15.           proxy_pass http://tomcat_server5;  
  16.           index index.jsp index.html index.htm;  
  17.     }  
  18.     }  
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. </pre><pre code_snippet_id="1640020" snippet_file_name="blog_20160409_4_755562" name="code" class="java"><p><pre name="code" class="java">节点说明:  
  2. 在http节点里添加:  
  3.   
  4. #定义负载均衡设备的 Ip及设备状态   
  5. upstream myServer {     
  6.   
  7.     server 127.0.0.1:9090 down; #不接收请求  
  8.     server 127.0.0.1:8080 weight=2;   
  9.     server 127.0.0.1:6060;   
  10.     server 127.0.0.1:7070 backup; #不参于负载均衡,当所有机器挂了,则这备份机处理请求服务<p style="display: inline !important;"></p><p></p><p></p>  
  11. }  
  12.   
  13. 在需要使用负载的Server节点下添加  
  14.   
  15. proxy_pass http://myServer;  
  16.   
  17. upstream 每个设备的状态:  
  18.   
  19. down 表示单前的server暂时不参与负载   
  20. weight  默认为1.weight越大,负载的权重就越大。   
  21. max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误   
  22. fail_timeout:max_fails 次失败后,暂停的时间。   
  23. backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。  


 


Nginx的高可用

录nginx挂了的时候,需要备份的nginx ,

解决高可用的方案就是添加冗余

使用:keeplived 健康检查,

1.1 keepalived+nginx实现主备

1.1.1 什么是keepalived

keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。

  Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

 

1.1.2 keepalived工作原理

keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(VIP = Virtual IP Address,虚拟IP地址,该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

keepalived主要有三个模块,分别是core、check和VRRP。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。VRRP模块是来实现VRRP协议的。

SpringBoot开发——结合Nginx实现负载均衡 阅读详情

相关推荐

基于Nginx的负载均衡管理系统Lazybalancer.zip

Lazy-Balancer 项目起源于好哥们需要一个 7 层负载均衡器,无奈商业负载均衡器成本高昂,操作复杂。又没有特别喜欢(好看,好用)的开源产品,作为一名大 Ops 怎么能没有办法?正好最近在看 Django 框架,尝试自己给 Nginx 画皮,项目诞生!非专业开发,代码凑合看吧。 项目基于 Django   AdminLTE 构建,在 Ubuntu 14.04 上测试通过;为了保证良好的兼容性,请使用 Chrome 浏览器。 因为增加了 iptables 自动控制,所以暂时不支持 docker 方式部署;需要本地测试的同学请使用 vagrant 方式 为了后续扩展方便,请大家使用 Tengine 替代 Nginx 服务 项目地址 GITHUB - https://github.com/v55448330/lazy-balancer 码云 - http://git.oschina.net/v55448330/lazy-balancer OSCHINA - http://www.oschina.net/p/nginx-balancer 更新 将 Nginx 更换为 Tengine 以提供更灵活的功能支持以及性能提升 新增 HTTP 状态码方式检测后端服务器,默认 TCP 方式 新增 HTTP 状态码方式支持查看后端服务器状态 修复因前方有防火墙导致无法获取后端服务器状态 修复因主机头导致后端服务器探测失败 新增自定义管理员用户 新增配置通过文件备份和还原 新增实时查看访问日志和错误日志 新增实时请求统计 更新 Vagrantfile 修复其他 Bug 功能 Nginx 可视化配置 Nginx 负载均衡(反向代理)配置 Nginx 证书支持 系统状态监测 自动维护防火墙规则(白名单) 支持 TCP 被动后端节点宕机检测 支持 HTTP 主动后端节点宕机检测 运行 克隆代码 mkdir -p /app git clone https://github.com/v55448330/lazy-balancer.git /app/lazy_balancer cd /app/lazy_balancer 卸载 nginx apt-get -y purge nginx-* nginx* apt-get -y autoremove 安装 tengine git submodule update --init --recursive cd resource/nginx/tengine apt-get install -y build-essential libssl-dev libpcre3 libpcre3-dev zlib1g-dev ./configure --user=www-data --group=www-data --prefix=/etc/nginx --sbin-path=/usr/sbin --error-log-path=/var/log/nginx/error.log --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx.pid make make install mkdir -p /etc/nginx/conf.d echo "daemon off;" >> /etc/nginx/nginx.conf 安装 supervisor apt-get install supervisor update-rc.d supervisor enable 配置 supervisor cp -rf service/* /etc/supervisor/ 安装依赖 apt-get install -y python-dev python-pip iptables libcurl4-openssl-dev pip install -r requirements.txt 初始化数据库 python manage.py makemigrations python manage.py migrate 启动服务 service supervisor restart

六个优质开源项目,让你更了解Django框架开发

Django 是一个开源的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被用来开发 CMS 软件的,所以 Django 很适合用来搭建内容类网站,它的设计目的是使常见的 Web 开发任务变得快速而简单。今天 Gitee 就为大家整理了六个优质开源项目,它们均使用 Django 开发,希望大家能从这些项目中有所收获。

m0_59162248的博客 1万+

Lazy-random-walks-for-superpixel-segmentation-master.zip

LRW lazy Random Walks forsuperppixel segmentation文章代码,matlab版。文章也在压缩包中,欢迎图像分割初学者下载学习。

apache tomcat负载均衡实验记录

原理:tomcat 做个WEB服务器有它的局限性,处理能力低,效率低。承受并发小(1000左右)。但目前有不少网站或者页面是JSP的。并采用了tomcat做为WEB,因此只能在此基础上调优。 目前采取的办法是Apache + Mod_JK + tomcat 来解决一部分请求,用户访问的是apache,但有jsp页面的时候才会去请求tomcat。如果量一大,那么tomcat无法承受,那么只能做to

00's Blog 1126

海康威视VS互联网大厂:薪资、福利、工作强度全方位对比

本文全面对比了海康威视与互联网大厂在薪资、福利和工作强度等方面的差异。海康威视提供稳定的薪资结构和较低的工作强度,适合追求专业深度的职场人;而互联网大厂则以高薪和快速成长吸引人才,但工作压力较大。文章还分析了职业发展路径和长期价值,帮助求职者做出明智选择。

weixin_29171129的博客 387

用Scratch实现凯撒密码:图形化编程与古典密码学的趣味结合

字符编码与移位运算是计算机处理文本数据的基础原理之一,它通过将字母映射为数字实现信息转换。在密码学领域,凯撒密码作为最经典的替换密码,直观地展示了基于规则字符替换的加密思想,其核心价值在于通过简单算法揭示加密解密的基本框架。这种原理在编程教育中尤为重要,能够帮助初学者理解循环、变量和字符串处理等核心概念。结合Scratch图形化编程环境,学习者可以通过拖拽积木可视化构建加密算法,将抽象的移位操作转化为交互式游戏。本项目以凯撒密码为例,通过实时密钥调整和动态字母表映射,生动演示加密过程,并自然融入暴力破解和密

weixin_32428571的博客 310

Nginx——Nginx负载均衡

1、负载均衡概述 早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器进行性能的水平扩展及避免单点故障出现,那么如何将不同用户的请求流量分发到不同的服务器上呢? 1.1、 ...

weixin_44623055的博客 4万+

WSL2不能上网,Failed to connect to github.com port 443问题解决方案

WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen

Jason_Chen__的博客 9525

Nginx如何实现负载均衡,Nginx负载均衡的几种方式。

大家好,我是IT修真院武汉分院第15期学员,一枚正直善良的JAVA程序员。今天给大家分享一下,修真院官网JAVA任务6中需要使用的Nginx负载均衡1.背景介绍在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外...

X1021333506的博客 2万+

MaxENT生态位模型实战:从数据准备到论文发表的完整指南

本文提供MaxENT生态位模型从数据准备到论文发表的完整实战指南,涵盖物种分布数据处理、环境变量筛选、参数优化及结果可视化等关键步骤。特别介绍如何通过R语言进行高级建模优化,提升模型AUC值,并分享海洋生物专题研究中的数据处理技巧。适合生态学研究者快速掌握这一强大的物种分布预测工具,产出高质量研究成果。

tensor9flow的博客 301

从命令到对话:LLM如何重塑车载语音交互与软件定义汽车体验

自动语音识别和自然语言处理是智能交互的核心基础技术,它们使机器能够理解和响应人类语音指令。其原理在于通过声学模型和语言模型将声音信号转化为文本,再解析文本背后的用户意图。这项技术的价值在于提供了一种自然、高效且能解放双手的人机交互方式,极大地提升了在特定场景(如驾驶)下的安全性与便利性。随着技术演进,其应用场景已从简单的命令控制扩展到复杂的多轮对话和跨域任务执行。当前,软件定义汽车的架构变革为车载语音提供了统一的控制平台,而大型语言模型的引入则带来了范式革命,使其从功能触发器进化为真正的智能任务执行者。本文

weixin_42669344的博客 563

nginx七层负载均衡配置

目录一、负载均衡介绍1)四层负载均衡2)七层负载均衡3)四层与七层区别二、nginx下载安装1、下载nginx源码包2、安装并启用三、nginx七层负载均衡配置real server设置:nginx配置:客户端设置:测试: 四、nginx扩充调度算法(sticky)1.下载扩展包2.编译前做一些优化:3.重新编译测试:nginx网站域名:http://nginx.org/ 2、安装并启用 解决: 继续编译 解决: 编译成功 此时生成了文件Makefile,此文件会指导我们进行make(将

dyh的博客 3089

PowerBuilder 9.0安装组件全解析:Adaptive Server Anywhere、PowerDynamo、InfoMaker到底怎么选?

本文从技术架构师视角详细解析PowerBuilder 9.0安装组件选型策略,包括Adaptive Server Anywhere、PowerDynamo和InfoMaker的核心功能与应用场景。通过分析组件间的依赖关系和安装冲突机制,提供针对不同开发需求的最佳安装方案,帮助开发者高效配置PB9.0开发环境。

weixin_28700593的博客 441

Nginx搭建负载均衡

负载均衡是将用户请求分发到多台服务器的一种技术,确保多个服务器共同承担负载,从而提升应用的可用性与响应速度。通过负载均衡,系统能够在某台服务器出现故障时,自动将流量转发至其他健康的服务器,避免单点故障带来的影响。使用Nginx搭建负载均衡能够有效提升系统的可用性和扩展性。通过合理的配置和优化,Nginx不仅可以分担流量,还能确保高效响应。负载均衡在现代Web架构中至关重要,帮助企业应对高并发请求,提升用户体验。

学习,分享一直在路上 5401

SI案例分享--考虑ESD保护二极管的差分线阻抗仿真

PCB设计中的cut out参考面早已是SI评估中常用的阻抗优化方式,通过合理的仿真建模,可以提供合适的设计参考,并保持与测试结果的高度一致性。

一只豌豆象的博客 1436

瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库

瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3106

Nginx——nginx作为负载均衡服务(负载均衡示例)

目录一、nginx负载均衡的理解1、nginx负载均衡原理2、nginx负载均衡图解3、nginx负载均衡配置语法二、nginx负载均衡演示示例1、lz虚拟机说明2、配置192.168.3.11虚拟机(即模拟三台虚拟机应用服务器)3、配置192.168.3.10虚拟机(即代理服务器) 一、nginx负载均衡的理解 1、nginx负载均衡原理 nginx通过proxy_pass模块实现负载均衡,proxy_pass是代理模块的一个核心配置,把所有的客户端请求通过proxy_pass代理转发到后端一组服务器上

小志的博客 3381

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

nginx怎么做负载均衡

如果想让别人善良,请先对别人善良!所以,让我们一起做一个善良的人吧!

IT小辉同学 7541

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Nginx负载均衡

负载均衡是将负载分摊到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验。对于Web应用,通过负载均衡,可以将一台服务器的工作扩展到多台服务器中执行,提高整个网站的负载能力。其本质采用一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。

1288

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Nginx负载均衡详解

Nginx负载均衡详解

Charge8的博客 1万+

【NGINX负载均衡详解】

负载均衡(LoadBalancing)是指将客户端的请求均匀分配到后端的多个服务器上,从而提高系统的吞吐量和可用性,避免单点故障。随着互联网应用的不断发展,负载均衡已经成为高可用系统设计中的一个重要环节。NGINX作为一种流行的高性能反向代理服务器,广泛应用于负载均衡场景。本文将深入探讨NGINX负载均衡的实现原理、配置方法及应用场景。

2501_90351126的博客 1496

Nginx七层负载均衡

Nginx负载均衡 1.Nginx负载均衡概述 web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台web服务器组成集群,前端使用Nginx负载均衡,将请求分散的转发到我们后端服务器集群中,实现负载的分发,那么会大大提升系统的吞吐率、请求性能、高容灾 之前在负载均衡调度器这里采用lvs的比较多,由于lvs只能实现对四层传输层的负载均衡,也就是说只能基于ip和端口号进...

江晓龙的博客 1696

Nginx 负载均衡详解

Nginx 是一个高性能的开源 Web 服务器和反向代理服务器,以其轻量级、高并发、低内存消耗等特点著称。Nginx 不仅适用于静态资源的快速分发,还广泛应用于负载均衡、反向代理等场景。通过Nginx,可以轻松地构建一个高效、可靠且可扩展的Web服务架构。Nginx作为一个强大的Web服务器和反向代理服务器,提供了灵活的负载均衡解决方案。通过合理配置Nginx,你可以实现高效的负载分配、提高应用的性能和可靠性。然而,为了充分发挥Nginx的潜力,你还需要关注配置的安全性、监控和日志记录等方面。

m0_74825634的博客 1070
上一篇: 注解@AutoWired和@Resource的区别
下一篇: (文章非原创)solr集群搭建和 java调用 solr集群
LazyTojava
博客等级 码龄10年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值