nginx负载均衡的实现

这篇具有很好参考价值的文章主要介绍了nginx负载均衡的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、 安装nginx

https://blog.csdn.net/qq_50247813/article/details/126550316

2、 修改配置文件,配置后端服务器
2.1、有3台后端服务需要实现负载均衡

172.17.0.2:80
172.17.0.3:80
172.17.0.4:80

2.2、修改配置文件,使用代理的方式实现负载均衡(默认轮询)

upstream myweb {
    server 172.17.0.2:80;
    server 172.17.0.3:80;
    server 172.17.0.4:80;
}
server {
    listem  80;
    server_name 192.168.92.20;		# 本机ip或者域名

    location / {
        proxy_pass http://myweb;
    }
}

设置代理名字为myweb,代理到myweb实现负载

3、 负载模式的介绍

nginx默认采用轮询的方式进行负载均衡

1、 加权轮询

weight代表权重默认为1,权重越高被分配的客户端越多。指定轮询几率,weight权重大小和访问比率成正比。

upstream myweb {
    		server 172.17.0.2:80 weight=1;
    		server 172.17.0.3:80 weight=5;
    		server 172.17.0.4:80 weight=2;
}

2、 hash负载均衡

每个请求按访问的ip的hash结果分配,这样每个访客固定访问一个后端服务器 好处:使用nginx +
ip_hash这种策略代理,很好解决了同一用户访问同一个应用,session不共享的问题,实现了session共享的问题

不能把后台服务器直接移除,只能标记down

  • 不能把后台服务器直接移除,只能标记down

3、 url_hash

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效

upstream myweb {
	ip_hash
    server 172.17.0.2:80;
    server 172.17.0.3:80;
    server 172.17.0.4:80;
	hash $request_uri;
	hash_method crc32;
}

4、 fair

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

upstream myweb {
	ip_hash
    server 172.17.0.2:80;
    server 172.17.0.3:80;
    server 172.17.0.4:80;
	fair
}

5、 least_conn(最小连接负载均衡)

1、 选取活跃连接数与权重weight的比值最小者为下一个处理请求的server。当然,上一次已选的server和以达到最大连接数的server照例不在选择的范围内
2、 假如上一个请求选择了第二台172.17.0.3,下一个请求到来时,通过比较剩下可用的server的conns/weight值来决定选哪一台。
3、如果172.17.0.2连接数为 100,172.17.0.2连接数为80,应为权重分别为2和1,因此计算结果100/2=50,80/1=80。应为50<80所以选择第一台而不是第二台,尽管连接数第一台要大于第三台。

upstream myweb {
	  	least_conn;
   		server 172.17.0.2:80 weight 2;
    	server 172.17.0.3:80 weight 1;
   		server 172.17.0.4:80 weight 1;
}

4、 upstream指令参数文章来源地址https://www.toymoban.com/news/detail-415463.html

max_conns: 限制最大同时连接数1.11.5版本只能用于商用版
down:禁止访问
backup:备用机 只有在其他服务器无法访问的时间才能访问到,不适用与hash负载均衡、随机负载均衡
max_fails:表示失败几次,则标记server已宕机,剔除上游默认值1
fail_timeout:表示失败的重试时间默认值10

到了这里,关于nginx负载均衡的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编译安装Nginx和使用五种算法实现Nginx反向代理负载均衡

    目录 Ubuntu中安装Nginx 概念介绍 负载均衡 几种负载均衡算法 反向代理 环境规划 配置反向代理 加权负载均衡(Weighted Load Balancing) 轮询(Round Robin) IP 哈希(IP Hash) 最少连接(Least Connections) URL 哈希(URL Hash) 想要安装nginx,首先我们需要有一台Ubuntu的虚拟机,然后最好在

    2024年01月25日
    浏览(50)
  • Nginx负载均衡代理proxy_set_header设置和透传https协议

    最近基于Nginx + (Nginx + PHP7)的技术生态做负载均衡,其中PHP框架使用的是ThinkPHP5,支付业务中使用了微信支付,其中有一处逻辑:获取当前请求的域名并且微信支付的回调地址 thinkRequest::instance()-domain() ,本来小程序端访问的是https协议,做了负载均衡之后,在程序中获取到的

    2024年01月25日
    浏览(42)
  • Nginx安装及配置负载均衡

    http://nginx.org/en/download.html 注:下载稳定版,即Stateable Version的,选择对应操作系统,我这里是Linux,就选择了 nginx-1.24.0 安装C++库和openssl等 安装 顺序执行下列命令 七层负载均衡 nginx的负载均衡语法 nginx的负载均衡策略 轮询(Round Robin默认) ​ 轮询是最常见的一种负载均衡策

    2024年02月09日
    浏览(44)
  • Nginx的安装及负载均衡搭建

     PERE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。 nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库 。  zlib zlib库提供了很多种压缩和解压缩的方式,nginx使

    2024年02月12日
    浏览(23)
  • 配置Nginx实现负载均衡

    简介 在本教学文章中,我们将学习如何使用Nginx配置负载均衡,将流量均匀分配到多个后端服务器,从而提高应用程序的可靠性和性能。负载均衡是一种常见的应用场景,通过分配请求到多个服务器上,可以实现负载的均衡分配,增加系统的可扩展性和容错能力。本教程将介

    2024年02月13日
    浏览(61)
  • Nginx 如何实现负载均衡?

    Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。由于其具有丰富的功能和出色的性能,Nginx 广泛应用于 Web 开发、负载均衡、反向代理等场景。在负载均衡方面,Nginx 可以实现基于轮询、IP_HASH、URL_HASH 和其他算法的负载均衡。本文将详细介绍

    2024年01月18日
    浏览(37)
  • nginx负载均衡的实现

    1、 安装nginx https://blog.csdn.net/qq_50247813/article/details/126550316 2、 修改配置文件,配置后端服务器 2.1、有3台后端服务需要实现负载均衡 172.17.0.2:80 172.17.0.3:80 172.17.0.4:80 2.2、修改配置文件,使用代理的方式实现负载均衡(默认轮询) 设置代理名字为myweb,代理到myweb实现负载 3、

    2023年04月16日
    浏览(35)
  • 使用Nginx实现负载均衡

    本文将详细介绍使用Nginx实现负载均衡的方法。 负载均衡(Load Balancing)是将传入的请求流量分发到多个后端服务器的技术,以达到消除单点故障、提高可用性、增加扩展性等目的。 负载均衡需要根据算法来决定如何将请求分发到后端服务器。常见的负载均衡算法包括: 2.2.1 轮询

    2024年02月12日
    浏览(38)
  • nginx的安装及代理和负载均衡设置

    官网参考地址:https://nginx.org/en/linux_packages.html#RHEL 执行下面的命令安装 新建文件/etc/yum.repos.d/nginx.repo,文件内容: 输入如下命令启动nginx 通过如下指令来进行开机自启动 http://192.168.19.51/ 看到上上面的这个界面,我们可以确定nginx安装成功了 我们可以通过nginx -h命令来获取使

    2024年02月09日
    浏览(26)
  • Nginx从安装到使用,反向代理,负载均衡

    1.1、Nginx介绍 Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx是由 伊戈

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包