有关nginx负载均衡的常用方式,包括轮询方式、按权重分配方式、ip hash分配方式,以及nginx负载均衡对server控制的方法。 一、nginx负载均衡方式
1、轮询方式
upstream test_up {
server localhost:8080; server localhost:9090; server localhost:9090; } server { listen 80; server_name test; location /test.html { proxy_pass http://test_up; }} 在浏览器地址栏中输入http://test/test.html时,nginx会按test_up中配置的服务器顺序依次访问后端服务器
2、权重分配方式
upstream test_up {
server localhost:8080 weight=1; server localhost:9090 weight=2; } server { listen 80; server_name test; location /test.html { proxy_pass http://test_up; } }
3、ip hash分配方式
upstream test_up {
server localhost:8080 weight=1; server localhost:9090 weight=2; ip_hash; } server { listen 80; server_name test; location /test.html { proxy_pass http://test_up } } ip hash方式是根据客户端ip进行hash后,将客户端请求分配给后端服务器。 注意:以上代码中虽然在每个server后面配置了权重,但采用了IP HASH方式后,实际上权重并不会生效。
二、对server进行控制 2,weight 默认为1.weight越大,负载的权重就越大。
3,max_fails:
4,fail_timeout:
5,backup:
nginx支持同时设置多组的负载均衡,可以为不用的server使用。
client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug。
(责任编辑:IT)client_body_temp_path 设置记录文件的目录 可以设置最多3层目录。 location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡。 |