本章给大家带来nginx负载均衡的相关配置讲解,首先大家先看下面的示意图:

图片描述

如上图所示;当客户端发起http请求时,先经过nginx服务器处理并重新分发请求;并下发给不同的服务器,从而实现nginx的负载均衡的简单应用。

nginx配置

 upstream  www.xyqmw.com {
        server    111.231.197.74:8080  weight=1; 
        server    111.231.197.74:8081  weight=2;  
    }     
    server {  
        listen       80; 
        server_name  111.231.197.74;  
 
        location / {  
                proxy_pass http://www.xyqmw.com;  
                proxy_redirect default;  
            }  
 
        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  
    }
 
#www.xyqmw.com 域名
#111.231.197.74 IP
#weight 权重

权重

使用weight来指定server访问比率,weight默认是1。以下配置会是server2访问的比例是server1的两倍。

 upstream  www.xyqmw.com {
        server    111.231.197.74:8080  weight=1; 
        server    111.231.197.74:8081  weight=2;  
    } 

 

 

nginx的应用介绍
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。 
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。 
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

nginx负载均衡测试
测试环境:操作系统centos 7  nginx服务器  启动两个服务

首先分别启动了两个python服务,端口分别是8080和80801 ,分别返回hello word1和hello word2

图片描述
图片描述

测试访问

我们来试一下访问http://www.xyqmw.com/这个域名

访问10次http://www.xyqmw.com结果:  7次返回hello world2 ,3次返回hello world1 ,测试成功!

图片描述
图片描述

补充一些参数用于处理一些特殊情况

proxy_connect_timeout:与服务器连接的超时时间,默认60s
fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
max_fails:允许连接失败次数,默认为1


别把代码当饭吃
125 声望15 粉丝

笨鸟先飞