5、Nginx 配置实例-负载均衡

文章目录


【尚硅谷】尚硅谷Nginx教程由浅入深
志不强者智不达;言不信者行不果。

5、Nginx 配置实例-负载均衡

负载均衡:增加服务器的数量,将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,这就是负载均衡。

5.1 实现效果

浏览器地址栏输入地址 http://192.168.39.250/edu/a.html,负载均衡效果,平均 8080和 8081 端口中。


5.2 准备工作

  1. 首先准备两个同时启动的 Tomcat,一台8080,一台8081
  2. 在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建页面 a.html,用于测试。

5.3 实验代码

在 nginx.conf 中进行配置

shell 复制代码
http{
        upstream myserver{
                server 192.168.39.250:8080;
                server 192.168.39.250:8081;
        }

    server {
        listen       80;
        server_name  192.168.39.250;
        location / {
                proxy_pass http://myserver;
        }
}

重新启动Nginx

shell 复制代码
[root@centos7-101 conf]# cd /usr/local/nginx/sbin/
[root@centos7-101 sbin]# ./nginx -s stop
[root@centos7-101 sbin]# ./nginx 

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。

快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx 就是其中的一个,在 linux 下有 Nginx、LVS、Haproxy 等等服务可以提供负载均衡服务,而且 Nginx 提供了几种分配方式(策略):

5.3.1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

5.3.2、weight

weight 代表权重默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

例如:

shell 复制代码
upstream server_pool{ 
server 192.168.5.21 weight=10; 
server 192.168.5.22 weight=10; 
}

5.3.3、ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:

shell 复制代码
upstream server_pool{ 
ip_hash; 
server 192.168.5.21:80; 
server 192.168.5.22:80; 
}

5.3.4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

shell 复制代码
upstream server_pool{ 
server 192.168.5.21:80; 
server 192.168.5.22:80; 
fair; 
}
相关推荐
边疆.12 分钟前
【Linux】编辑器vim的使用和理解gcc编译器
linux·运维·服务器·编辑器·vim
羑悻的小杀马特31 分钟前
从零搭建群晖私有影音库:NasTool自动化追剧全流程拆解与远程访问协议优化实践
运维·数据库·自动化
雾江流34 分钟前
快指点击器 1.1.9 | 支持多点操作、自动化脚本,操作记录等功能,快速解放双手
运维·自动化·软件工程
孙同学要努力40 分钟前
《Linux篇》命令行参数与环境变量
linux·运维
WIN赢2 小时前
【UI自动化相关】
运维·自动化
notion20254 小时前
Optuna 黑科技自动化超参数优化框架详解
运维·科技·其他·自动化
CS Beginner7 小时前
【Linux】Tomcat基本配置
linux·运维·tomcat
..Move...7 小时前
快速搭建Docker私有仓库指南
运维·docker·容器
小小的木头人8 小时前
Windows Docker desktop 部署
运维·kafka
wanhengidc9 小时前
云手机和虚拟机的区别都有哪些?
运维·服务器·安全·智能手机·玩游戏