• Nginx 之负载均衡与反向代理


    负载均衡服务器策略:

    1.轮循  每个请求逐个分发到后端服务器

    2.加权轮循  按照分配的权重将请求分发到后端服务器

    3.ip hash 轮询的基础上,保持一个客户端多次请求分发到一台后端服务器上

    一、轮询配置

      #定义后端服务器组
        upstream nginx-test{
            server 192.168.0.128;
            server 192.168.0.127;
        }
        server {
            listen       8080;
            server_name  localhost;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            root   "G:/phpstudy/nginx/html";
            
            location / {
               index  index.html index.htm index.php l.php;
               autoindex  on;
               proxy_pass http://nginx-test;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            
            location ~ .php(.*)$  {
                fastcgi_pass   127.0.0.1:9001;
                fastcgi_index  index.php;
                fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO  $fastcgi_path_info;
                fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
                include        fastcgi_params;
            }
            
        }

    二、轮询加权配置

      #定义后端服务器组
        upstream nginx-test{
            server 192.168.0.128 weight=2;
            server 192.168.0.127;
            server 192.168.0.126 backup; # 备份服务器,其他服务器宕机后启动
        }
        server {
            listen       8080;
            server_name  localhost;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            root   "G:/phpstudy/nginx/html";
            
            location / {
               index  index.html index.htm index.php l.php;
               autoindex  on;
               proxy_pass http://nginx-test;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }

    三、IP Hash配置

      #定义后端服务器组
        upstream nginx-test{
            ip_hash;
            server 192.168.0.128;
            server 192.168.0.127;
            server 192.168.0.126;
        }
        server {
            listen       8080;
            server_name  localhost;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            root   "G:/phpstudy/nginx/html";
            
            location / {
               index  index.html index.htm index.php l.php;
               autoindex  on;
               proxy_pass http://nginx-test;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }    
        }

     四、负载均衡与反向代理区别

    1、负载均衡需要通过反向代理来实现
    2、反向代理就是指nginx作为前端服务器,将请求转发到后端,再将后端服务器的结果,返回给客户端
    它在中间做了一个代理服务器的角色
    3、负载均衡对反向代理增加了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给一个相对空闲的服务器,对负载进行分流,减轻服务器压力

    五、反向代理配置

      #定义后端服务器组
        upstream nginx-test{
            server 192.168.0.127;
        }
        server {
            listen       8080;
            server_name  localhost;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            root   "G:/phpstudy/nginx/html";
            
          #代理配置参数
            proxy_connect_timeout 180;
            proxy_send_timeout 180;
            proxy_read_timeout 180;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarder-For $remote_addr;
            
            location / {
              proxy_pass http://nginx-test;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
  • 相关阅读:
    过滤器排序规则
    n维立体空间建模
    将多个Sheet导入到同一个Excel文件中
    Oracle分页查询
    SSH整合逻辑图
    MD5算法原理
    Spring框架整合Struts2
    Pandas入门——Series基本操作
    Python 使用selenium+webdriver爬取动态网页内容
    Python处理json和dict
  • 原文地址:https://www.cnblogs.com/yang-2018/p/11418869.html
Copyright © 2020-2023  润新知