nginx配置负载均衡–实战项目(适用于轮询、加权轮询、ip_hash)

nginx配置负载均衡--实战项目(适用于轮询、加权轮询、ip_hash)

两台服务器

nginx配置负载均衡--实战项目(适用于轮询、加权轮询、ip_hash)

业务需求:
有两台服务器,一台供于线上使用(172.16.10.10),一台供于研发使用(172.16.10.20)

如果线上的服务器挂了,需要将所有请求转移到研发的机器上,以确保线上服务正常使用;

正常时间还是线上使用线上的服务器,研发用研发的服务器;只有在线上服务器挂了的时候才会使用备用的研发服务器;

需求实现:
使用nginx负载均衡来实现;ip_hash方式

在nginx服务器配置中添加负载:(设置负载均衡时同台服务器不同端口也可以,不同服务器,同端口也可以)

upstream front_server{  #定义一个服务配置front_server
            ip_hash; #表示配置一个用户固定访问一台设备
            server 172.16.10.10:8080 weight=1; #第一台服务机器 设置权重值1
            server 172.16.10.20:8080 weight=2; #第二台服务机器 设置权重值2
    }
    server {
        listen       8099;	#如果有一个服务是本台的那么8080肯定会被占用,这时候我们可以改一个访问端口即可;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
          #  root   html;
          #  index  index.html index.htm;
		proxy_pass http://front_server$request_uri;
		proxy_http_version 1.1;
		proxy_set_header Uparade $http_upgrade;
		proxy_set_header Connection "Upgrade";
		proxy_set_header Host $host;
        }

配置完负载之后,报错保存退出,检测nginx配置语法是否有误;

#检测nginx配置语法是否有误,前面路径可根据自己安装的目录来写
/usr/local/nginx/sbin/nginx -t

返回这个有ok,则nginx配置没有问题;如果有报错会显示几行报错的。

nginx配置负载均衡--实战项目(适用于轮询、加权轮询、ip_hash)

检测没问题之后,重新启动nginx服务

#重启nginx服务,前面路径可根据自己安装的目录来写
/usr/local/nginx/sbin/nginx -s reload

#启动完成,检查是否启动(ps查看服务是否正常启动、netstat查看配置的端口是否正常启动)
ps -ef | grep nginx
netstat -anput | grep 8099

#完成之后就可以页面访问了。

配置好之后,这个只是配置了负载均衡,如果服务有后缀,那么自己在访问负载的ip:prot的时候在后面加上后缀即可。

访问页面,持续监控两台服务的日志输出,测试即可;

负载均衡方式(常用的三种):
轮询:两台服务器会随机发送请求;

加权轮询:两台服务器也都会随机发送请求,但是会有一个权重值,谁的权重值高,接收的请求就会比另一个多;

ip_hash:也是会有权重值,谁的权重值越高,请求就会在最高的权重值中,只有当权重值最高的那台服务器挂了,再会去找权重值第二的服务器;(1为最高权重值)
轮询:

    upstream front_server{  #定义一个服务配置front_server
            server 172.16.10.10:8080; #第一台服务机器(两台服务器随机分配请求)
            server 172.16.10.20:8080; #第二台服务机器(两台服务器随机分配请求)
    }

加权轮询:

    upstream front_server{  #定义一个服务配置front_server
            server 172.16.10.10:8080 weight=5; #第一台服务机器,权重值比较高,所以大部分的请求都会在10上;
            server 172.16.10.20:8080 weight=2; #第二台服务机器,权重值比较低,所以少部分的请求会在20上;
    }

ip_hash

    upstream front_server{  #定义一个服务配置front_server
            ip_hash; #表示配置一个用户固定访问一台设备
            server 172.16.10.10:8080 weight=1; #第一台服务机器 设置权重值1,则优先访问10服务器。
            server 172.16.10.20:8080 weight=2; #第二台服务机器 设置权重值2,10服务器挂了则访问20服务器。
    }

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

(0)
凯影的头像凯影
上一篇 2023年12月25日 下午3:58
下一篇 2023年12月27日 下午4:02

相关推荐

  • Windows server 2019安装.Net Framework 3.5的教程

    信息如下: 解决方法: 其他方法 如果你没有WSUS服务器的话可以通过这个方法来试试使用dism.exe 下载系统镜像里的原始文件 这里我放在了百度云盘里面,下载地址见: 安装教程 1.将下载的文件解压到D盘sxs文件夹,如下图所示: 注意路劲是: 该文件夹下面是有4个文件的。 2.进入CMD

    2024年3月8日
    1.3K00
  • Pantum打印机连接教程

    1、点击文章末尾的下载文件,下载驱动 2、解压文件后双击执行程序,进行安装,勾选同意后进入下一步 3、选择手动安装 4、选择对应的驱动版本M6518,选择有线网络连接 5、等待程序搜索打印机,如果没有找到打印机,选择手动添加IP,输入192.168.1.66,点击下一步,等待安装 6、此时安装成功 7、在wps中选择对应的打印机M6518,然后点击打印 相关…

    2023年8月3日
    1.2K00
  • Minio nginx配置https和http问题解决,疑难症全网首发

    以下问题基本上是因为NGINX代理出现 一、API直接返回单独的错误: io.minio.errors.ErrorResponseException: Access denied 二、API直接返回的错误:The request signature we calculated does not match the si 三、预览文件或者图片返回错误 以上三个…

    2023年10月18日
    3.0K00
  • Linux系统部署BBR服务器加速软件

    一、BBR加速软件介绍  BBR简介:  BBR是谷歌的黑科技,也可以理解为用来加速网络的软件,如果服务器在海外,会发现丢包率很高,线路还会时断时续。所以,不用点黑科技,肯定是没办法使用。而BBR加速能充分利用网络带宽 BBR的作用就是尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。通俗来讲就是最大化利用网络上瓶颈线路的带宽。…

    2023年12月1日
    86100
  • LAMP环境下部署DiscuzQ

    一、安装Apachae yum安装Apache,并设置开机自启动 在网页浏览器输入ip地址,查看Apache是否正常 二、安装配置 MariaDB 执行以下命令,查看系统中是否已安装 MariaDB。 rpm -qa | grep -i mariadb       返回结果类似如下内容,则表示已存在 MariaDB。 &nbsp…

    2022年12月6日
    1.2K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信