Nginx用处

  • 反向代理:代理服务器代替真是服务器接收Internet请求,并将请求转发给【内部网络上的】真实服务器;真实服务器得到的结果再通过代理服务器返回给客户端,此时就表现为一个代理服务器,用户是不知道到底哪个真实服务器在此处理的
server {
     listen 80;
     server_name loclhost ;
     client_max_body_size 1024M ;
     #允许客户端请求的最大单文件字节数
     location / {
     # 对 "/" 启用反向代理
     proxy_pass http://localhost:8080 ;
     proxy_set_header Host $host:$server_port ;
     }
    } # 当我们访问localhost的时候,就相当于访问localhost:8080
  • 负载均衡:当有两台或以上的服务器时,根据规则随机的将请求分发到指定服务器进行处理,一般需要配置反向代理,通过反向代理跳转到负载均衡,Nginx自带3种负载均衡策略

    • RR(默认):按时间逐一分配到不同后端服务器
    upstream test { # 核心代码
         server localhost: 8080 ;
         server localhost: 8081 ;
        } # Nginx会自动判断服务器状态,如果不能访问就不会跳转到此服务器,避免服务器挂了的影响
    
    • 权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况

      server localhost: 8080 weight=9 ;
      server localhost: 8081 weight=9 ;
      } # 10次一般只会有1次会访问到8081,而有9次会访问到8080```
      
      
    • ip_hash:当需要一个客户只访问一个服务器,如登陆的时候根据session来保存信息(iphash的每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题)

      ip_hash ;
      server localhost: 8080 ;
      server localhost: 8081 ;
     }
    
    • fair:按后端服务器的响应时间来分配请求

    • url_hash:按访问的hash结果来分配请求,使每个url定向到同一个后端服务器(在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法)

       hash $request_uri ;
       hash_method crc32 ;
       server localhost: 8080 ;
       server localhost: 8081 ;
      } 
      
  • HTTP服务器(动静分离)

    nginx本身是静态资源服务器,当只有静态资源的时候,可以使用Nginx做服务器,

    • 静态

    • 动静分离:根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作

      image
  • 正向代理:客户端知道要访问哪台服务器,服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;通过代理服务器(屏蔽了真实客户端信息)做中转

    server {
     resolver_timeout 5s ;
     listen 81 ;
     access_log e:\wwwroot\proxy.access.log;
     error_log e:\wwwroot\proxy.error.log;
    
     location / {
     proxy_pass http://$host$request_uri ;
     }
    }
    
  • 正反向代理结合:正向代理代理客户端的请求去访问目标服务器,目标服务器是一个反向单利服务器,反向代理了多台真实的业务处理服务器

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也...
    Since_1689阅读 257评论 0 0
  • 前言 本文值针对Nginx在不加载第三方模块的情况下能处理的事情 Nginx 能做什么 反向代理 负载均衡 HTT...
    简_easy阅读 273评论 0 0
  • nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、PO...
    逝者如斯灬阅读 3,457评论 0 16
  • 实习入职第一天的时候,在同事的帮助下安装了N多软件和工具。然鹅作为一个初入工作的菜鸡,很多工具之前没有接触...
    茶树丶ccha阅读 517评论 0 3
  • Nginx能做什么 反向代理 负载均衡 HTTP服务器(包含动静分离) 正向代理以上就是我了解到的Nginx在不依...
    田佳伟阅读 430评论 0 0