nginx 学习笔记
常见问题
配置 proxy_pass 代理转发时的绝对路径与相对路径
在 nginx 中配置 proxy_pass 代理转发时,如果在 proxy_pass 后面的 url 加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
负载均衡算法
轮询
默认算法。每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。
权值轮询
weigh t 的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。
指定轮询几率, weight 和访问比率成正比,用于后端服务器性能不均的情况。
ip_hash
每个请求按访问 IP 的哈希结果分配,使来自同一个 IP 的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的 session 共享问题。
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
模块
stream
nginx 从 1.9.0 版本开始,新增了 ngx_stream_core_module 模块,使 nginx 支持四层负载均衡。默认编译的时候该模块并未编译进去,需要编译的时候添加 --with-stream,使其支持 stream 代理。