• nginx一些细节知识点补充


    1.upstream 配置代理

    1. upstream local_tomcat {  
    2.     server localhost:8080;  
    3. }  
    4.   
    5. server{  
    6.         location / {  
    7.            proxy_pass http://local_tomcat;  
    8.         }  
    9.         #......其他省略  
    10. }  

      在server外添加了一个upstream,而直接在proxy_pass里面直接用http://+upstream的名称来使用。

      还是直接来http://localhost,还是和第一个一样的效果,所有链接都没问题,说明我们配置正确。

      upstream中的server元素必须要注意,不能加http://,但proxy_pass中必须加

    2.upstream 配置多台服务器

    1. upstream local_tomcat {  
    2.     server localhost:8080;  
    3.     server localhost:9999;  
    4. }  

      防止第一台服务器出现挂机。

    3.upstream配置某台服务器的权值

    1. upstream local_tomcat {  
    2.     server localhost:8080 weight=1;  
    3.     server localhost:9999 weight=5;  
    4. }  

    4.nginx的重要功能

      动/静态资源分离、负载均衡

    5.动/静态资源分离

      nginx支持正则表达式以区分静态资源或者动态资源,

      其中动态资源可以进一步转发给后端的proxy server,

      而静态资源则可以在nginx层面使用本地缓存策略或者重定向(类CDN)到其他nginx上

    6.负载均衡

      对于动态资源而言,如果有多个proxy server,那么nginx将会根据一定的算法选择合适的server,并转发请求,最终将客户端request相对均衡的分发给多个server。

    7.负载均衡算法 

     “负载均衡”算法需要在upstream区块的首行声明。

        1)round-robin:轮询,request将会依次有序的分发给web server。one by one!默认使用此算法。

        2)least-connected:最小连接数,请求将会被分发给当前链接数最小的server。配置名“least_conn”。

        3)ip-hash:根据请求的客户端IP作为hashing key,来判定选择哪个server。配置名“ip_hash”。

     能够影响负载均衡策略的还有一个重要的参数:权重

    8.健康检测

    1. upstream backend {  
    2.     server 192.168.1.110 weight=3 max_fails=3 fail_timeout=10s;  
    3.     server 192.168.1.120;  
    4.     server 192.168.1.130;  
    5. }  

      对于负载均衡是必须的,这是提供可用性、“故障迁移”的必要手段。比如当某个server失效,请求未能正常处理,那么我们应该将分发给那些“正常”的server,并将故障的server从列表中移除,直到它恢复,以避免后续更多的请求处理失败。nginx当与一个server建立链接失败后,会在“fail_timeout”时间内最多尝试“max_fails”次,如果仍为失败,则将次server标记为“failed”,并从服务列表中移除。默认“max_fails”为1,如果“max_fails”为0,则表示关闭“健康检测”;“fail_timeout”(默认位10s)表示检测多久后被标记为“failed”,nginx会以优雅的方式检测那些失效的server,如果它们再次上线,则将它们标记为“alive”,即可继续提供服务。

  • 相关阅读:
    hdu 3072 Intelligence System(Tarjan 求连通块间最小值)
    HDU 4635 Strongly connected (Tarjan+一点数学分析)
    HDU 2767 Proving Equivalences (Tarjan)
    codeforce 853A Planning
    codeforces 851C Five Dimensional Points(鸽巢原理)
    Lucas模板
    LCA 模板
    hdu 2874 Connections between cities(st&rmq LCA)
    寒假练习赛总结
    ACM常用模板整理
  • 原文地址:https://www.cnblogs.com/juncaoit/p/7474738.html
Copyright © 2020-2023  润新知