nginx学习

Posted 奔跑de孩子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx学习相关的知识,希望对你有一定的参考价值。

负载均衡的两种方法:
    1.将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样可以大幅提高网络系统的处理能力
    
    2.将大量的前端并发访问或者数据流量 分担到多个后端网络节点上分别处理,这样可以有效的减少前端用户等待响应的时间
    
nginx负载均衡策略两大类:
    1.内置策略(轮询、加权轮询、IP hash)
        
        在默认情况下内置策略会被编译进Nginx内核、使用时只需要在Nginx服务器配置中设置相关参数即可    
            
            轮询:轮询策略就是将每个前段请求按顺序(时间顺序、排列顺序)逐一分配到不通的后端节点上、对于出现问题的节点自动剔除。
            
            加权轮询:顾名思义、就是在基础的轮询策略上考虑各后端节点接受请求的权重、指定后端节点性能的实际情况。加权轮询策略主要用于后端节点性能不均的情况
                        
                        根据后端节点性能的实际情况、我们可在Nginx服务器的配置文件中调整权重、使得真个网络对前端请求达到最佳的相应能力。
            
            IP hash: 是将前端的访问IP进行hash操作、然后根据hash结果将请求分配给不同的后端节点、实际上这种策略也是一种特殊的轮询策略、通过Nginx实现、
                        
                        每个前端访问IP会固定访问一个后端节点。 这样做的好处是避免考虑前端用户的session在后端多个节点上共享的问题。
    
    2.扩展策略(url hash、fair)
        扩展策略不会编译进Nginx内核、需要手动将第三方模块编译到Nginx内核。
        
            url hash: 形式上和IP hash 相近、 不同之处在于、IP hash策略 是对前端访问IP进行了hash操作、 而url hash策略 是对前端请求的url进行了hash操作。
                        
                        url hash策略的优点在于、 如果后端有缓存服务器、它能够提高缓存效率、同事也解决了 seesion 的问题;但其缺点是、如果后端节点出现异常
                        
                        它不能自动排除该节点。 在使用过程用发现、后端节点出现异常会导致Nginx服务器返回503错误
                        
            fair模块:  fair则是通过从另一个角度来实现Nginx服务器负载均衡策略的。 该模块将前端请求转发到一个最近负载醉的后台节点。 那么,负载最小怎么判断那?
                        
                        Nginx通过后端节点对请求的响应时间判断负载情况。响应时间短的节点负载相对就轻。得出判断后,Nginx 就将前端请求转发到选中的负载最轻的节点上。
                        
                        
Nginx服务器web缓存服务:
    1.Proxy_Cache
        Proxy_Cache 主要用在Nginx服务器提供反向代理,对后端源服务器的返回内容进行URL缓存
    2.FastCGI_Cache
        FastCGI_Cache 主要用于对 FastCGI 的动态程序进行缓存
    3.第三方模块 ngx_cache_purge 
        也是Nginx服务器web缓存功能中常用的、它主要用于清楚Nginx服务器上指定的URL缓存

        
    Nginx和Squid对比
        Nginx服务器对多核CPU的调度比Squid更胜一筹、而在负载均衡、反向代理等其他方面 Nginx也不逊于Squid。
        这使得Nginx服务器可以同时作为负载均衡服务器和web缓存服务器来使用,基本可以代替Squid。

 

以上是关于nginx学习的主要内容,如果未能解决你的问题,请参考以下文章

nginx.conf 忽略了 nginx-ingress 配置映射片段

将 nginx rtmp 片段发送到 WebRTC

IOS开发-OC学习-常用功能代码片段整理

java SpringRetry学习的代码片段

python 机器学习有用的代码片段

text 有用的nginx命令和片段