参考文档html
nginx upstream模块nginx
http://www.nginx.cn/doc/standard/httpupstream.html
后端
#upstream模块: 用于负载均衡 ,反向代理 (proxy fastcgi uwsgi scgi memcached)
服务器
#语法: upstream name { ... }
cookie
upstream static_server {
session
server A*:80 max_fails=2 fail_timeout=5s;
负载均衡
serve B*:80 max_fails=2 fail_timeout=5s;
jvm
server C*:80 max_fails=2 fail_timeout=5s backup;
ide
keepalive 4;
memcached
}
#定义了一个名为static_server 的组
#server +后端服务器的IP+对应提供服务的端口号
#max_fails : 容许请求失败的次数默认为2,当超过最大次数时,返回proxy_next_upstream 模块定义的错误
#fail_timeout :它和max_fails相关联,若是在5s内请求失败2次,那么nginx就认为这台服务器已经挂了,从而在5s内再也不查询它
#backup :表示仅当后端服务器都不可用的时候,nginx才会把请求分发到它上
# keepalive 4 :激活对后端机器的长链接,支持http fastcgi memcache ,这个数应当设置小点,以便后端服务器能够同时接受新的链接,若是超过了这个数,最近最少使用的链接将被关闭。
#srun_id=PNET1 : 表示对这台服务器设置了一个标签,主要是为了区分后端的服务器
#jvm_route :基于cookie中的JSESSIONID来决定将请求发送给后端的哪一个server
#经过jvm_route解决session不一致的问题
upstream puic-net {
server E*:39921 srun_id=PNET1 max_fails=2 fail_timeout=5s;
server F*:10021 srun_id=PNET2 max_fails=2 fail_timeout=5s;
server G*:11021 srun_id=PNET3 max_fails=2 fail_timeout=5s;
server H*:39922 srun_id=PNET4 max_fails=2 fail_timeout=5s;
jvm_route $cookie_JSESSIONID|sessionid reverse;
keepalive 4;
}