nginx 概念

# nginx概念 ## 什么是正向代理,和反向代理 ### ![image.png](https://cos.easydoc.net/48081513/files/kc1spg04.png) ![image.png](https://cos.easydoc.net/48081513/files/kc1sqjpx.png) ![image.png](https://cos.easydoc.net/48081513/files/kc1stwcl.png) ## 负载均衡原理 > 负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机 和某台服务器闲置的情况。那么负载均衡的前提就是要2台以上服务器才能实现。 > Nginx负载均衡有4种方案配置 1. ==轮询== 轮询即 Round robin,根据 Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器上。 2. ==最少连接 least conn== Web请求会被转发到连接数最少的服务器上。 3. ==iP地址哈希 ip_hash== 同一客户端连续的Web请求可能会被分发到不同的后端服务器进行处理,因此如果涉及到会话Session,那么会话会比较复杂。(比如登陆,在a登陆,在b购物,b不知道你在a登陆,还需要做同步) 可以使用基于iP地址哈希的负载均衡方案。这样的话,同一客户端连续的Web请求都会被分发到同一服务器进行处理。 4. ==基于权重 weight== 基于权重的负载均衡这种方式下, 我们可以配置 Nginx把请求更多地分发到高配置的后端服务器上 把相对较少的请求分发到低配服务器. 可以配置请求分发的比例 ![image.png](https://cos.easydoc.net/31477061/files/kru0xp2m.png) ![image.png](https://cos.easydoc.net/31477061/files/kru0ybbq.png) ## 访问yes.163.com ![image.png](https://cos.easydoc.net/31477061/files/kru10na9) ## 访问wtl.com 没有效果, 访问http://localhost:8088 可以成功。 ``` user www-data; worker_processes auto; events { worker_connections 1024; } http { upstream wtl.com{ server 127.0.0.1:5551; server 127.0.0.1:6662; } server { listen 8088; server_name wtl.com; location / { proxy_pass http://wtl.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } ```