反向代理
反向代理代理的是服务器,所以用户是无感知的。用户发起请求后,由 Nginx 服务器分发请求到具体的服务器中。
1 | server { |
负载均衡
Nginx 负载均衡需要配置 upstream 组:
1 | upstream server_pool { |
负载均衡策略
第一种 轮询
每个请求按时间顺序逐一分配到不同的后端服务器。
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多。
1 | upstream server_pool { |
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器。
1 | upstream server_pool { |
第四种 第三方配置
如 fair 就是第三方配置:按后端服务器的响应时间来分配请求,响应时间短的优先分配。
1 | upstream server_pool { |
动静分离
动静分离就是把把动态跟静态请求分开。
动静分离从目前实现角度来讲大致分为两种:
- 一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案。
- 另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。