随笔-95  评论-31  文章-10  trackbacks-0

A服务器后面有N台服务器,那么A就是后面N台的代理,对于服务端来说,这就叫做反向代理,配合Nginx反向代理,就能实现负载均衡。

Nginx反向代理配置eg: 这个例子只是说明Nginx把/地址都转发到192.168.1.121:8080这个地址

server {
   #当前nginx的监听 
    listen 
8080;
   #当前Nginx机器的域名
    server_name www.test.com;

    location 
/ {
       #这里proxy_pass意思就是对
/转发到这个地址
       proxy_pass http:
//192.168.1.121:8080
    }
 


Nginx负载均衡需配合反向代理:

http {
    #三台负载配置,不考虑session
    upstream myapp1 {
        #least_conn策略会根据服务器压力分配请求
        least_conn;
        #weight权重 有20%请求分配到1地址
        server 
192.168.1.1:8080 weight=2;
        #weight权重 有40%请求分配到2地址
        server 
192.168.1.2:8080 weight=4;
        #weight权重 有40%请求分配到3地址
        server 
192.168.1.3:8080 weight=4;
    }

    server {
        listen 
8090;
        location 
/ {
            #这个至关重要,表示代理的时候设置主机名(IP)和端口,不设置会无法转发请求,这里其实就是代理Nginx本机IP以及监听端口
            proxy_set_header Host $host:
8090;
            #这个是获取到请求客户端的真实IP而不是Nginx代理机器的IP
            proxy_set_header X
-Real-IP $remote_addr;
            #这个是转发
            proxy_set_header X
-Forwarded-For $Proxy_add_x_forwarded_for;
            #这个名字可以随便取,只要能匹配到upstream的名字即可
            proxy_pass http:
//myapp1;
        }
    }
}


以上就是Nginx负载均衡配置关键点,其它性能参数请参考http://nginx.org/en/docs/

posted on 2017-07-15 15:01 朔望魔刃 阅读(2333) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: