一、实现负载均衡

在上面的介绍中只实现了nginx的代理一台wen服务器,在现实的开发中不可能一个Nginx服务器代理一个web服务器的情况,而是代理多台的web服务器。

1、在克隆一个tomca的服务器

服务器信息:

NO 主机名称 IP地址 描述

1 tomcat-service-1 192.168.239.132 tomcat

2 nginx-service-01 192.168.239.133 nginx

3 tomcat-service-2 192.168.239.134 tomcat

2、修改主机的名称

root@tomcat-service-1:~# vim /etc/hostname
tomcat-service-2

3、为了呈现效果修改两个tomcat中index.html的静态文件

tomcat-service-1
<h1>192.168.239.132</h1>
tomcat-service-2
192.168.239.134

4、启动两个tomcat服务,检测两个服务是否可以正常访问

tomcat-service-1:

tomcat-service-2:

以上结果显示两台web服务可以正常访问,下面使用Nginx代理两台服务器

5、修改Nginx的配置文件,增加负载均衡配置

upstream appserver{server 192.168.239.132:8080;server 192.168.239.134:8080;}location / {proxy_pass http://appserver;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;index  index.html index.htm;}

添加upstream appserver 配置项实现负载均衡操作,添加完毕后在修改代理的路径proxy_pass http://appserver,在修改完nginx.conf文件后必须检查是否配置成功

nginx -t

显示如下信息标识配置成功

成功之后重启nginx的服务,观察是否配置成功

root@ubuntu:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -s reload

使用浏览器访问nginx服务器,检测是否代理两台web服务器

此时我们可以看到nginx实现了两台web服务器的代理,当用户发送请求的时候是实现循环访问,这就实现了web服务器的负载均衡

二、其他配置

1、增加权重配置,权重配置值越高有可能先被执行

upstream appserver{server 192.168.239.132:8080 weight=5;server 192.168.239.134:8080 weight=1;}

2、检测配置和重新加载

/usr/local/nginx/sbin/nginx -t
root@ubuntu:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -s reload

3、如果某台主机不参与配置,则将配置修改为

server 192.168.239.130   down;

4、如果某台主机只有在高负载量的时候才参与计算,则修改配置为

server 192.168.239.130  backup;

以上操作会导致一个问题,当用户登录的时候访问的是第一台服务器,但是第二次访问的时候被代理第二胎服务器,此时登录信息就无效了,需要重新登录,此时其中的一种解决方案是让用户访问的时候一直访问到登录的web服务器。此时针对以上的问题我们可以使用Nginx的ip_hash配置实现,该特征是用户在以后的访问中只能访问第一次访问的服务器,该配置很简单,直接在upstream节点中添加一个ip_hash就可以实现

upstream appserver{server 192.168.239.132:8080;server 192.168.239.134:8080;ip_hsah;}

以上的方案并非是最好的解决方案,最后的方案是将用户的信息保存在redis中,之后再次访问的时候先到redis中进行查询在确定用户是否登录,如果redis中有记录则表示登录成功。

njx如何实现负载均衡_使用Nginx实现负载均衡相关推荐

  1. nginx 一个请求发给多台机器_配置Nginx实现负载均衡

    企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最常用的的添加负载 ...

  2. 两台linux服务器负载均衡代码实现,nginx实现负载均衡,nginx负载均衡确保两台服务器数据保...

    nginx实现负载均衡,nginx负载均衡确保两台服务器数据保 一.准备篇: Nginx 负载服务器: Centos 6.2 IP:192.168.1.93 WEB服务器: Web1:192.168. ...

  3. php负载均衡慕课网,Nginx实现负载均衡

    本篇文章介绍Nginx实现负载均衡,本文使用Nginx和两个SpringBoot简单Web应用实现. 1.准备工作. 结合本文场景,需要安装Nginx和Java环境(运行SpringBoot项目). ...

  4. ic 主动均衡_一种电池主动均衡方法与流程

    电池主动均衡技术领域,具体是一种电池均衡方法. 背景技术: 现有主动均衡技术主要通过检测电池电压差异或容量差异,并通过电子元器件(DC/DC或电容器)来实现单体与单体.单体与模组.模组与单体之间的能量 ...

  5. mysql分库负载均衡_订单模块以及负载均衡和分库分表

    第202次(订单模块以及负载均衡和分库分表) 学习主题:订单模块以及负载均衡和分库分表 1. ego-rpc_ego-manager项目发布 (1) 描述ego-rpc项目发布需要什么插件,做哪些配置 ...

  6. weblogic集群部署与负载均衡_集群,负载均衡,分布式的讲解和多台服务器代码同步...

    集群 我们的项目如果跑在一台机器上,如果这台机器出现故障的话,或者用户请求量比较高,一台机器支撑不住的话.我们的网站可能就访问不了.那怎么解决呢?就需要使用多台机器,部署一样的程序,让几个机器同时的运 ...

  7. 压力测试过负载均衡_一致性 Hash 在负载均衡中的应用

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 If you concentrate on the ONE thing in ...

  8. juniper srx 出口负载均衡_直流微电网负载均流控制的新策略

    随着新能源发电技术的快速发展,直流微网变换器并联导致的功率分配不均和母线电压控制问题引起了广泛关注.目前,直流微网的大部分均流策略依赖系统或级间通信,均流效果受通信系统的可靠性影响. 北京航空航天大学 ...

  9. 华为路由器负载均衡_华为OSPF路由负载分担配置示例

    华为OSPF路由负载分担配置示例 1.组网需求 图1 OSPF负载分担组网示例图 如图1所示,OSPF网络中有四台交换机,同属于区域0.要求配置负载分担,使得SwitchA流量,可以分别通过Switc ...

最新文章

  1. 数据库相关概念以及简单SQL语句
  2. java 部分正确性_深入理解java快速排序的正确性
  3. Hadoop1.2.1集群安装二
  4. 33.Node.js 文件系统fs
  5. 好用的idea插件,一个字:真TM太爽了!
  6. memcache 防火墙策略
  7. FFT变换频谱图中幅值的设置方法
  8. sed,awk,grep学习笔记
  9. 7.26 4 印度旅馆阿鲁沙之家
  10. 梅林系统软件无法安装解决方法
  11. BMFONT 字体制作
  12. 面试经验---广州品高软件(java软件开发)
  13. OpenCV-python安装教程
  14. 如何锁定excel的一列不允许修改编辑
  15. 【Android开发笔记】4.简单基站定位程序
  16. 2、如何搭建百度离线地图服务
  17. 大一新生计算机强化训练小结,大一新生军训个人小结
  18. 技术干货 | Linkis实践:新引擎实现流程解析
  19. 从成功到夺目: Google Play 2021 年度中国开发者最佳榜单
  20. Fisherface(FLD)人脸识别实验

热门文章

  1. ubuntu中一些软件的命令安装及设置
  2. 人际沟通最忌讳一脸死相【转】
  3. 服务器虚拟化相关问题分析,服务器虚拟化中遇到的存储问题分析
  4. js 节点 选中ztree_zTree使用
  5. 详解Python项目开发时自定义模块中对象的导入和使用
  6. Python标准库collections中与字典有关的类
  7. java配置testng_如何使用TestNG JAVA Reflection设置测试方法执行的优先级
  8. 互斥锁必须用同一个吗_04 | 互斥锁(下):如何用一把锁保护多个资源?
  9. java arraylist线程安全_面试题1:ArrayList 是线程安全的吗?如果要实现一个线程安全的List应该怎么做?...
  10. 打开pdf文件提示文件过大_pdf文件太大如何用pdf转换工具进行压缩?