2019独角兽企业重金招聘Python工程师标准>>>
本文主要讲解nginx的负载均衡。
负载均衡基于nginx的反向代理功能。
~~~~~~~~~~~~~~~~~~
1)让nginx支持jsp动态文件
操作方法:---修改nginx.conf,在server里添加
location ~ \.jsp$ {proxy_pass http://192.168.11.4:8080;
}
正在验证--->已经验证。
通过抓包得到的结论:
nginx启动时不会连接后方的动态文件服务器比如tomcat,收到请求时需要连接才连接。
2)让nginx支持多个动态文件
比如说:
修改配置文件:
location ~ \.jsp$ {proxy_pass http://192.168.11.4:8080;}location ~ \.test.html$ {proxy_pass http://192.168.56.66:8081;}
本质与上面的第一点是一样的,没有任何区别。
3)同一个访问url分散到多个服务器来响应
跟前2个不一样,这里是同一个url由不同的server来响应。
配置文件如下:在http模块添加
upstream myCluster { server 192.168.11.4:8080 ; server 192.168.56.66:8081 ;
}
然后在server模块中添加:
location ~ \.balance.html$ { proxy_pass http://myCluster ; #这里的名字和上面的cluster的名字相同 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
~~~~~~~~~~
再说说负载均衡的若干思路:
1)利用HTTP协议的重定向功能。
2)DNS域名解析。
3)Nginx的反向代理。
负载均衡算法:
1)轮询
2)加权
3)随机
4)最少连接
5)源地址散列