Nginx教程

Nginx-负载均衡与反向代理(lb服务器)

本文主要是介绍Nginx-负载均衡与反向代理(lb服务器),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

负载均衡

 

1.去nginx官网找upstream模块

upstream backend {
    server backend1.example.com       weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;
    server backup2.example.com:8080   backup;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

2.lb01服务器部署好nginx,并将以上代码复制到nginx.conf,

指定web服务器(www和blog)的地址和配置向后请求节点带hosts字段,

并设置web01为主,web为backup

[root@lb01 ~]# vim  /application/nginx/conf/nginx.conf
    sendfile        on;
    keepalive_timeout  65;
    upstream backend {
        server 10.0.0.7:80  weight=1;
        server 10.0.0.8:80  weight=1 backup;
    }

    server {
        listen       80;
        server_name  www.etiantian.org;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host  $host;
        }
    }
    server {
        listen       80;
        server_name  blog.etiantian.org;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host  $host;
        }
   }
}

 

3.hosts文件中添加用于做解析测试

10.0.0.5 www.etiantian.org blog.etiantian.org
for n in {1..100};do curl www.etiantian.org;sleep 1;done

 

4.节点服务器获取用户的真实ip地址

在nginx反向代理服务器上配置nginx文件,添加获取用户ip的字段:proxy_set_header X-Forwarded-For $remote-addr;

在web服务器的日志配置接收字段:http_x_forwarded-for;

lb01(负载均衡):

 

web01(节点服务器):

 

 测试:

web01:

tail -f /application/nginx/logs/access_www.log

这时用电脑访问www.etiantian.org

 

5.upstream的模块

 

 

max和fail的默认值

 

 

 

====================================================================================================================================

 

这篇关于Nginx-负载均衡与反向代理(lb服务器)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!