• 用nginx进行同一个服务器下多域名的负载均衡配置


    用nginx进行同一个服务器下多域名的负载均衡配置

    Nginx进行http负载均衡的模块是upstream

    Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后面的名字最好是配置成为域名,因为upstream是进行http访问的,一般的解析没有问题,但是如果是ajax的解析就会通过访问upstream后面的名字来进行访问了,这里要注意。

    修改配置文件:conf/nginx.conf

    配置文件代码  
    1. #需要进行负载均衡的站点  
    2. #其中server是其中负载均衡的一个节点www.aaa.com  
    3. upstream www.aaa.com {    
    4.         server 192.168.0.1:8080 weight=1;    
    5. server 192.168.0.2:8080 weight=2;  
    6. server 192.168.0.1:8081 weight=3;  
    7.            
    8. }    
    9.   
    10. #第二个网站的www.bbb.com的负载均衡的节点  
    11. upstream www.bbb.com {    
    12.         server 192.168.1.1:8080 ;    
    13. server 192.168.1.2:8080 ;    
    14. server 192.168.1.3:8080 ;    
    15.         ip_hash;    
    16.  }    
    17.   
    18. #同一服务器转发2个不同域名进行负载均衡  
    19. #www.aaa.com的server  
    20. server  
    21.   {  
    22.     listen       80;  
    23.     server_name  www.aaa.com;  
    24.      
    25.         location / {    
    26.             index  index.html index.jsp;    
    27.             #这里的proxy_pass转发的是upstream的名字www.aaa.com  
    28.             proxy_pass  http://www.aaa.com;    
    29.             proxy_set_header    X-Real-IP   $remote_addr;    
    30.             client_max_body_size    100m;    
    31.         }    
    32.           
    33.     #limit_conn   crawler  20;      
    34.       
    35. }  
    36.   
    37. server  
    38.   {  
    39.     listen       80;  
    40.     server_name  www.bbb.com;  
    41.      
    42.         location / {    
    43.             index  index.html index.jsp;    
    44. #这里的proxy_pass转发的是upstream的名字www.bbb.com  
    45.             proxy_pass  http://www.bbb.com;    
    46.             proxy_set_header    X-Real-IP   $remote_addr;    
    47.             client_max_body_size    100m;    
    48.         }    
    49.           
    50.     #limit_conn   crawler  20;      
    51.       
    52. }  
    #需要进行负载均衡的站点
    #其中server是其中负载均衡的一个节点www.aaa.com
    upstream www.aaa.com {  
            server 192.168.0.1:8080 weight=1;  
    server 192.168.0.2:8080 weight=2;
    server 192.168.0.1:8081 weight=3;
             
    }  
    
    #第二个网站的www.bbb.com的负载均衡的节点
    upstream www.bbb.com {  
            server 192.168.1.1:8080 ;  
    server 192.168.1.2:8080 ;  
    server 192.168.1.3:8080 ;  
            ip_hash;  
     }  
    
    #同一服务器转发2个不同域名进行负载均衡
    #www.aaa.com的server
    server
      {
        listen       80;
        server_name  www.aaa.com;
       
    		location / {  
                index  index.html index.jsp;  
    			#这里的proxy_pass转发的是upstream的名字www.aaa.com
                proxy_pass  http://www.aaa.com;  
                proxy_set_header    X-Real-IP   $remote_addr;  
                client_max_body_size    100m;  
            }  
    		
        #limit_conn   crawler  20;    
        
    }
    
    server
      {
        listen       80;
        server_name  www.bbb.com;
       
    		location / {  
                index  index.html index.jsp;  
    #这里的proxy_pass转发的是upstream的名字www.bbb.com
                proxy_pass  http://www.bbb.com;  
                proxy_set_header    X-Real-IP   $remote_addr;  
                client_max_body_size    100m;  
            }  
    		
        #limit_conn   crawler  20;    
        
    }
    

    Upstream的server详细配置:

    (具体配置信息查看:http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:httpupstream

    §  weight = NUMBER - 设置服务器权重,默认为1。

    §  max_fails = NUMBER - 在一定时间内(这个时间在fail_timeout参数中设置)检查这个服务器是否可用时产生的最多失败请求数,默认为1,将其设置为0可以关闭检查,这些错误在proxy_next_upstream或fastcgi_next_upstream(404错误不会使max_fails增加)中定义。

    §  fail_timeout = TIME - 在这个时间内产生了max_fails所设置大小的失败尝试连接请求后这个服务器可能不可用,同样它指定了服务器不可用的时间(在下一次尝试连接请求发起之前),默认为10秒,fail_timeout与前端响应时间没有直接关系,不过可以使用proxy_connect_timeout和proxy_read_timeout来控制。

    § down - 标记服务器处于离线状态,通常和ip_hash一起使用。

    § backup - (0.6.7或更高)如果所有的非备份服务器都宕机或繁忙,则使用本服务器(无法和ip_hash指令搭配使用)。

  • 相关阅读:
    Elkstack2.0部署
    ZABBIX自定义用户KEY与参数USERPARAMETERS监控脚本输出
    elasticsearch 管理工具
    指定时间开启、结束定时器
    异步的作用
    快速生成几百万条测试数据
    查看查询索引
    蠕虫复制
    导出数据库
    header
  • 原文地址:https://www.cnblogs.com/swyft/p/5495704.html
Copyright © 2020-2023  润新知