Nginx负载均衡介绍

Nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交给多台服务器处理,进而提高系统的吞吐率;另外如果其中某一台服务器挂掉,其他服务器还可以正常提供服务,以此来提高系统的可伸缩性与可靠性

下图为负载均衡示例图,当用户请求发送后,首先发送到负载均衡服务器,而后由负载均衡服务器根据配置规则将请求转发到不同的web服务器上。

Nginx负载均衡介绍

Nginx策略

Nginx内置负载均衡策略主要分为三大类,分别是轮询、最少连接和ip hash

  • 最少连接:请求分配给活动连接数最少的服务器,哪台服务器连接数最少,则把请求交给哪台服务器,由nginx统计服务器连接数
  • ip hash:基于客户端ip的分配方式
  • 轮询:以循环方式分发对应用服务器的请求,将请求平均分发到每台服务器上。

Nginx配置文件修改

普通轮询方式
http {
    # 定义转发分配规则
    upstream myapp1 {
        server srv1.com; # 要转发到的服务器,如ip、ip:端口号、域名、域名:端口号
        server srv2.com:8088;
        server 192.168.0.100:8088;
    }

    server {
        listen 80; # nginx监听的端口

        location / {
        	# 使用myapp1分配规则,即刚自定义添加的upstream节点
        	# 将所有请求转发到myapp1服务器组中配置的某一台服务器上
            proxy_pass http://myapp1; 
        }
    }
}
权重轮询方式  会根据配置的权重进行请求分发。
# 定义转发分配规则
upstream myapp1 {
	server srv1.com weight=1; # 该台服务器接受1/6的请求量
	server srv2.com:8088 weight=2; # 该台服务器接受2/6的请求量
	server 192.168.0.100:8088 weight=3; # 该台服务器接受3/6的请求量;
}
最少连接 适合请求处理时间长短不一造成服务器过载的情况
# 定义转发分配规则
upstream myapp1 {
	least_conn; # 把请求分派给连接数最少的服务器
	server srv1.com;
	server srv2.com:8088;
	server 192.168.0.100:8088;
}
ip hash  确保了相同的客户端的请求一直发送到相同的服务器
# 定义转发分配规则
upstream myapp1 {
	ip_hash; # #保证每个请求固定访问一个后端服务器
	server srv1.com;
	server srv2.com:8088;
	server 192.168.0.100:8088;
}

这样就是Nginx基础的负载均衡配置方式!!!

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6109

(0)
郭靖的头像郭靖
上一篇 2022年11月16日 上午10:40
下一篇 2022年11月16日 下午6:11

相关推荐

  • Windows配置磁盘监控

    通过pushgateway的方式,主动推送监控数据给prometheus。 由于windows平台的诸多限制,导致推送比较艰难。有两种方法完成监控。 1.通过python等语言,做推送脚本。 2.曲线救国就是把监控数据scp发给Linux机器。再通过linux做二次加工推给pushgateway。 window server上配置环境 1.首先判断服务器磁盘…

    2022年11月25日
    1.6K00
  • Centos7下FTP安装与配置

    一、前述 企业中linux搭建ftp服务器还是很实用的,所以本文基于Centos7搭建服务器教程做个总结。 FTP协议占用两个端口号: 21端口:命令控制,用于接收客户端执行的FTP命令。 20端口:数据传输,用于上传、下载文件数据。 二、服务端安装 1.安装vsftpd yum -y install vsftpd 2.配置vsftp vim /etc/vs…

    2022年6月15日
    2.0K00
  • 文件传输工具WinSCP的安装与使用

    安装 首先下载软件,下面是WinSCP的下载网址 Download WinSCP 5.19.4 – free – latest version 下载完成后打开安装并接受许可协议 这里我们可以选择自定义安装,若是完整升级安装类型默认安装位置是C盘,接着下一步 若选择自定义安装则会有选择安装位置的窗口,若选择完整升级类型则为直接安装窗口【…

    2023年1月4日
    1.9K00
  • Certimate – 开源 SSL 证书自动化管理工具

    Certimate – 开源 SSL 证书自动化管理工具 简介 ​Certimate​ 是一款开源的 SSL 证书管理工具,旨在帮助用户实现证书的 ​全自动化生命周期管理,包括申请、部署和续期。其核心特性如下: 部署指南 方式一:二进制部署(推荐) 下载最新版本 添加执行权限 启动服务(默认端口8080) 方式二:Docker 部署 方式三:源码…

    2025年5月21日
    2.0K00
  • Docker常用命令

    列出所有容器ID 查看所有运行或者不运行容器 停止所有的container(容器),这样才能够删除其中的images: 如果想要删除所有container(容器)的话再加一个指令: 查看当前有些什么images 删除images(镜像),通过image的id来指定删除谁 想要删除untagged images,也就是那些id为的image的话可以用 要删除全…

    2022年11月19日
    1.5K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信