首先拿一个实例来进行记录
upstream webyz {
ip_hash;
server 10.23.24.10:8026 weight=1 max_fails=2 fail_timeout=30s;
server 10.23.24.11:8026 weight=1 max_fails=2 fail_timeout=30s; down
server 10.23.24.12:8026 weight=1 max_fails=2 fail_timeout=30s;
}
}
1.ip_hash
这个用于多台服务器做负载均衡中,ip_hash能够将客户端的请求通过哈希算法定位到后端的某一台服务器上
这里使用ip_hash指令的方式无法完全保证负载均衡的实现,因为有些后端服务器接收的请求多,有的少,通过设置服务器权重等方法将起不到作用,所以如果后端的动态应用服务器能够做到session共享的话,还是建议使用session共享的方式来代替nginx的ip_hash
如果某一段时间不需要某一台机器做负载的时候,我们可以给他down掉
1.upstream 相关变量
$upstream_addr 处理请求的upstream 的服务器地址
$upstream_status upstream 服务器的应答状态
$upstream_response_time upsream服务器的响应时间(毫秒)。多个响应以逗号和冒号分割
$upstream_http_$HEADER 任意的HTTP协议头信息,比如:$upstream_http_host