• nginx配置代理转发,顺便写点负载均衡


    机器有限,我是nginx和服务放在了一台虚拟机

    虚拟机同一个项目启动两次,指定不同的端口号

     这是第一个,使用项目application.yml里配置的port:18888

     这是第二个,指定端口:28888

    接着是linux,直接上nignx.conf,重要配置

    http {

        #这里使用了负载均衡,默认是轮询策略,
        upstream backserver {
            server 127.0.0.1:18888;
            server 127.0.0.1:28888;
        }
       server {
            listen      80;
           # server_name  125.125.125.125;

            location /book {  #①
                #root   html;
                #index  index.html index.htm;
                proxy_pass http://backserver/book;#如果①处写了过滤词,那么转发的时候也要写到
            }
        }
    }

     weight就是权重策略,weight=2表示该服务请求是没配置的两倍,权重越高,概率越大 

     

        upstream backserver {

            server 127.0.0.1:18888 weight=2;

            server 127.0.0.1:28888;

        }

    ip_hash,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过

    哈希算法,自动定位到该服务器。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,ip_hash不能与backup同时使用。

        upstream backserver {

            ip_hash;

            server 127.0.0.1:18888;

            server 127.0.0.1:28888;

        }

     least_conn

    把请求转发给连接数较少的后端服务器,有些请求占用的时间很长,会导致其所在的后端负载较高

    upstream backserver {
            least_conn;  #把请求转发给连接数较少的后端服务器
            server 127.0.0.1:18888 weight=2;

            server 127.0.0.1:28888;

    }

     fair(第三方)nginx需要下载配置fair模块,不能直接使用

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

        upstream backserver {

            fair;

            server 127.0.0.1:18888;

            server 127.0.0.1:28888;

        }

    url_hash(第三方)同样不能直接使用,需要下载配置

    配合缓存命中来使用,同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取

        upstream backserver {

            hash $request_uri; #实现每个url定向到同一个后端服务器

            server 127.0.0.1:18888;

            server 127.0.0.1:28888;

        }

  • 相关阅读:
    《Vue入门到精通系列之五》--- vue-router详解
    代码审计——任意文件下载详解(二)
    uniapp微信小程序系列(2)pages.json实用配置详解
    Java-访问控制
    python数据分析基础(1)
    “第四十四天”
    抽象轻松测试接口API
    VSCode 开发 Vue 语法提示
    使用metrics-server监控k8s的资源指标
    【操作系统】进程的通信IPC
  • 原文地址:https://blog.csdn.net/qq_32037561/article/details/126543824