Nginx实现负载均衡的反向代理

正文:

一、环境需求:

Linux
Nginx

二、反向代理

【基本概念】
一个server是一个虚拟主机
每个server代表一个网站

server{ 
    listen 80;
    server_name localhost;
    location / {
        proxy_pass http://119.75.217.109;#百度的ip
    }
}

我们访问http://localhost nginx会反向代理到http://119.75.217.109,也就是百度首页,但这时我们看网址栏,显示并不是www.baidu.com 而是localhost.

server{ 
    listen 80;
    server_name www.xxx.com;
    location / {
        proxy_pass http://www.baidu.com;
    }
}

此种情况访问http://localhost,我们也会访问到百度首页,但是网址栏显示 http://www.baidu.com,这与上面的例子有所区别。


三、负载均衡

基本概念
HttpProxyModule 代理模块
HttpUpstreamModule 负载均衡模块
upstream 定义一个服务器池

我们先做如下配置:
代理服务器IP 192.1.1.0
后台服务器群,假设有两台
192.1.1.1 #web1
192.1.1.2 #web2

我们在代理服务器中定义一个服务器池,名字叫back,里面有两台服务器,如下:

upstream back{ 
    server 192.1.1.1:80; #web1
    server 192.1.1.2:80; #web2
}

server{   #代理服务器192.1.1.0
    listen 80;
    server_name localhost;
    location / {
        proxy_pass http://back;
    }
}

服务器池中的每台服务器都有相同的配置,即都配置有nginx,root下(html目录下)都已经写好相同网站。
在代理服务器中添加server,如上。
我们使用语句 proxy_pass 加上 http://服务器池名 进行负载均衡的代理。
这样,当用户对localhost进行访问时,
用户A访问返回server 192.1.1.1;
用户B访问返回server 192.1.1.2;
用户C访问返回server 192.1.1.1;
用户D访问返回server 192.1.1.2;
如此循环往复,实现负载均衡的效果。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值