10.13 Nginx 负载均衡
七层负载均衡
server { listen 80; server_name localhost; location / { proxy_pass http://name; //调用集群 } } upstream name { server 127.0.0.1 80 weight=5; server app1.test.com max_fails=3 fail_timeout=30s; server unix:/tmp/php-fpm.sock; server app2.test.com backup; }
server 支持的参数: weight 权重 max_conns=number 最大活动链接数 默认0 没有限制 max_fails 监测失败多少次标记为不可用 fail_timeout 单次监测超时时间,默认10s
backup 设置备份服务器,当所有服务器不可用将启用此服务器 down 标记down 状态 resolve 当server定义的是主机名,a记录发生变化会自动应用新IP,而不用重启nginx ip_hash; 基于客户端remote_addr 源地址 ipv4 前24位 做hash计算,以实现会话保持 least_conn; 最少连接 rr 轮询 hash $request_url 根据请求uri做hash hash $cookie_sessionid 基于cookie中的sessionid 这个key进程hash调度,实现绑定会话
四层负载均衡 stream { //调用模块 upstream sshserver { //定义集群 server 192.168.0.12:22; //定义集群内主机 } server { listen 800; //修改监听的端口 proxy_pass sshserver; //调用集群 } }