首页 > 系统相关 >Nginx04 反向代理和负载均衡

Nginx04 反向代理和负载均衡

时间:2022-10-26 11:22:24浏览次数:42  
标签:负载 8081 9.134 upstream 192.168 server html 反向 Nginx04

1 反向代理介绍

  https://www.cnblogs.com/jthr/p/16827214.html

 

2 负载均衡介绍

  https://www.cnblogs.com/jthr/p/16827328.html

 

3 Nginx的反向代理配置

3.1 配置server

  把location下面的root和index配置注释掉,添加proxy_pass配置,值就是代理的地址。

  注意,这里proxy_pass的地址要支持https的话还其它需要额外的配置。

    server {
        listen       80;
        server_name  nginx1.com;

        location / {
            proxy_pass   http://www.atguigu.com;
            #root   /usr/local/mynginx/nginx1;
            #index  index.html index.htm;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

       
    }

 

3.2 访问nginx1.com

  执行命令:systemctl reload nginx重新加载nginx

  浏览器的地址栏还是nginx1.com,代理成功

 

4 Nginx的负载均衡配置

4.1 启动两个服务

  先在计算机上启动两个服务

  192.168.28.1:8081

  192.168.28.1:8082

  它们分别提供一个接口

@RestController
@RequestMapping("/api")
public class NginxController1 {
    @GetMapping
    public String test1(){
        return "success test1 8081";
    }
}
@RestController
@RequestMapping("/api")
public class NginxController1 {
    @GetMapping
    public String test1(){
        return "success test1 8082";
    }
}

 

4.2 配置nginx

1)配置serer

  修改proxy_pass的值:http://httpadr; 其中httpadr是一个别名,随便取名字

    server {
        listen       80;
        server_name  nginx1.com;

        location / {
            proxy_pass   http://httpadr/api;
            #root   /usr/local/mynginx/nginx1;
            #index  index.html index.htm;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

       
    }

 

2)配置upstream

  upstream适合server同级别的

  注意:upstream 后面接的httpadr要和上面的别名对应上(http://httpadr/api;),这样组合就形成完整的路径http://192.168.28.1:8081/api,http://192.168.28.1:8082/api

    upstream httpadr{
      server  192.168.28.1:8081;
      server  192.168.28.1:8082;
   }

 

4.3 访问nginx1.com

  执行命令:systemctl reload nginx重新加载nginx

  

 

 

4.4 负载均衡策略

  默认情况下,nginx采用的是轮询策略,nginx还提供了其他几种常用的负载均衡配置

 

4.4.1 ip_hash

每个请求按访问IP的hash结果进行分配,这样每个访客就可以固定访问一个后端服务,一定程度上可以解决session问题

upstream webservers {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E--> ip_hash; server 192.168.9.134:8081; server 192.168.9.134:8082;}

 

4.4.2 weight

  weight代表权重,默认为1,权重越高,被分配的客户端请求就会越多

 upstream webservers{
      server  192.168.9.134:8081 weight=8;
      server  192.168.9.134:8082 weight=2;
   }

 

4.4.3 fair(需要第三方插件)

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

upstream webservers{
        server 192.168.9.134:8081;
        server 192.168.9.134:8082;
        fair;
}

 

4.4.4 url_hash(需要第三方插件)

  按访问URL的hash结果分配。这样相同的url会被分配到同一个节点,主要为了提高缓存命中率。比如,为了提高访问性能,服务端有大量数据或者资源文件需要被缓存。使用这种策略,可以节省缓存空间,提高缓存命中率

upstream webservers{
    hash &request_uri;
    server 192.168.9.134:8081;
    server 192.168.9.134:8082;
}

 

4.4.5 least_conn

  按节点连接数分配,把请求优先分配给连接数少的节点。该策略主要为了解决,各个节点请求处理时间长短不一造成某些节点超负荷的情况

upstream webservers{
    least_conn;
    server 192.168.9.134:8081;
    server 192.168.9.134:8082;
}

 

标签:负载,8081,9.134,upstream,192.168,server,html,反向,Nginx04
From: https://www.cnblogs.com/jthr/p/16827617.html

相关文章

  • 负载均衡
    https://blog.csdn.net/wanghangzhen/article/details/1185543041负载均衡简介1.1.大型网站面临的挑战大型网站都要面对庞大的用户量,高并发,海量数据等挑战。为了......
  • HAProxy反向代理实例
     1、环境准备:设备IP地址作用系统版本web110.0.0.18Nginx-Web服务器Rocky8.6web210.0.0.28Nginx-Web服务器Rocky8.6Haproxy172.20.0.248、10.......
  • HAProxy反向代理负载均衡实例
    1、环境准备:设备IP地址作用系统版本web110.0.0.18Nginx-Web服务器Rocky8.6web210.0.0.28Nginx-Web服务器Rocky8.6Haproxy172.20.0.248、10.0.0.101反向代理web+负载均衡Ubun......
  • 部署haproxy+keepalived高可用负载均衡器
    尽管HAProxy非常稳定,但仍然无法规避操作系统故障、主机硬件故障、网络故障甚至断电带来的风险。所以必须对HAProxy实施高可用方案。下面将介绍利用Keepalived实现的HAProxy......
  • 5大负载均衡算法 (原理图解)
    负载均衡,是分布式架构的必备技术,也是进阶的必学技术,需要重点掌握。本文,我将重点详解负载均衡的5大核心算法@mikechen先来看张图,下面是一个典型的集群和负载均衡架构图:......
  • nginx反向代理harbor
    1、构建基础镜像#构建ubuntu系统基础镜像[root@DY-ubuntu-01ubuntu_base]#vimDockerfileFROMubuntu:20.04LABELmaintainer="www.wang.org"version="ubuntu_base:v1.0"......
  • zabbix默认监控负载取值不正确。
    服务器负载很高(如下图),查看zabbix监控却没有告警(原因:模板TemplateOSLinux监控取值与实际服务器内负载不一致)解决办法:找到Processorload(1minaveragepercore......
  • 20-20-DNS&CDN&反向代理实践课_ev
                     ......
  • Nginx负载均衡当其中一台服务器挂掉之后,Nginx负载将会怎样呢?
    Nginx负载均衡当其中一台服务器挂掉之后,Nginx负载将会怎样呢? 2021-04-0515:10:23    小道仙    99阅读    0评论之前写过Nginx负载均衡的配置,详......
  • 负载均衡环境下缓存处理
    深入学习EnterpriseLibraryfor.NETFramework2.0的Cache机制——分析篇,这篇文章介绍了很多Caching方面的内容,我就不详细说了,我这里主要说一个最近......