Nginx反向代理知识点总结

负载均衡

 location表达式
        匹配URL路径地址
        /表示匹配所有路径地址,默认不区分大小写
        =/ 表示拦截/之前,也就是/后面不能带任何字符  比如:www.baidu.com/aaa访问不到
        ~开头表示区分大小写
        案例:
            配置两个location,访问不同的域名,访问到不同的项目,也就是跨域问题的解决方案                        

            location /a/{
                proxy_pass http://127.0.0.1:8080;
                index index.html index.htm;
            }
            location /b/{
                proxy_pass http://127.0.0.1:8081;
                index index.html index.htm;
            }

   API设计
                大型项目服务特别多,最后需要统一域名,比如:
                nginx主要作用反向代理
                网关作用是权限控制(黑名单系统,白名单系统)

重启命令

nginx -relaod
nginx -s stop

负载均衡
概念:
            使用负载均衡
                四层负载均衡器(nginx1.9之后)
                    基于传输层,基于TCP协议实现的负载均衡,主要针对于TCP协议 
                    lvs软负载 f5硬件负载
                七层负载均衡器  nginx
                    基于应用层,也叫作基于http协议实现的负载均衡,针对web服务实现负载均衡
            思考?
                nginx支持四层负载均衡,1.9之前不支持四层负载均衡,只支持http。
        作用:
            目的是为了解决高并发,将所有请求转发负载均衡器,再由负载均衡器采用不同的算法(轮训机制,权重,IP绑定)分发到指定的服务器
        流程:    
            客户端--》首先进行dns解析,解析完成先到LVS服务,然后转发到不同的nginx服务器,不同的nginx服务器对应不同的web应用        
            lvs改写目标地址  nginx 代理服务器
            nginx+lvs+keepalived
        带来的问题:
            分布式session一致性问题
            分布式job幂等性问题
            分布式生产全局ID
            分布式锁
            分布式配置中心
            分布式日志收集系统
        配置负载均衡
            上游服务器
            upstream server 
                可以配置多个真是业务逻辑访问的服务器
                内置功能
                    故障转移
                    重试机制  不推荐使用,因为可能产生幂等性问题
                    心跳检测  tcp和http协议 一般使用keepalived实现

               upstream backServer {
                    server 127.0.0.1:8080;
                    server 127.0.0.1:8081;
                }
                server{
                    listen 80;
                    server_name www.com;
                    location /{
                        proxy_pass http://backServer/;
                        index index.html index.htm;
                    }
                }

  算法:    
            轮训机制
                轮流访问
                应用场景:
                    服务器配置都相同的时候
            权重机制
                weight 配置比例
                权重越高,访问的次数越多
                应用场景:
                    服务器配置能力不同的情况下        

                  upstream backServer {
                        server 127.0.0.1:8080 weight=1;
                        server 127.0.0.1:8081 weight=2;
                    }     

    IP绑定
                通过nginx后去IP,hash运算,固定分配到某个服务器上
                可以解决session共享问题

                    upstream backServer {
                        server 127.0.0.1:8080;
                        server 127.0.0.1:8081;
                        ip hash;
                    }

 fair
                第三方
                nginx本身不支持
            URL绑定
                类似于IP绑定,只不过是针对URL,也是第三方的
            绝大多数情况下,负载均衡都是根据服务器进行配置的
    nginx配置故障转移,在反向代理转发到真是服务器,如果真是服务器出现宕机,延迟情况下,直接轮训到下一个服务器
        故障转移配置如下:           

        upstream backServer {
                server 127.0.0.1:8080;
                server 127.0.0.1:8081;
            }
            server{
                listen 80;
                server_name www.com;
                location /{
                    proxy_pass http://backServer/;
                    #nginx与上游服务器超时时间,后端服务链接超时时间_发起握手等候响应超时时间
                    proxy_connect_timeout 1s;
                    #nginx发送给上游服务器超时时间
                    proxy_send_timeout 1s;
                    #nginx接收上游服务器超时时间
                    proxy_read_timeout 1s;
                    index index.html index.htm;
                }
            }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值