25,Nginx反向代理负载均衡

1,什么是反向代理
1,代理顾名思义就是代理某人去做某事,比如律师代理,中介代理。往往你不能直接自己做的事,都需要找代理

2,为什么要用反向代理
1,在没有代理服务器之前,用户访问web服务器是如下图:
25,Nginx反向代理负载均衡
2,在实际业务生成环境中,比如我们访问web服务器,在用户和服务器直接往往有一台或者多台代理服务器用来转发你的访问请求,代你去访问web服务器,然后将结果返回给用户。当你只有一台web服务器的时候,这种代理看起来其实意义不大,用户直接访问web服务器不是更快?但生产中不仅仅一台web,这个时候用代理来转发,并实现负载均衡就显得非常重要了!
25,Nginx反向代理负载均衡
3,反向代理负载均衡
Nginx代理支持的协议
25,Nginx反向代理负载均衡

Nginx反向代理支持协议
25,Nginx反向代理负载均衡
反向代理模式与 Nginx 代理模块总结如表格所示
25,Nginx反向代理负载均衡

4,部署Nginx反向代理负载均衡
环境:
nginx-05:外网10.0.0.5内网172.16.1.5
web-07:外网10.0.0.7内网172.16.1.7(部署完成)
web-08:外网10.0.0.8内网172.16.1.8(部署完成)
1)nginx-05安装nginx反向代理软件
yum provides nginx
yum -y install nginx
2)定义一个代理模块,新建一个文件
[root@172 nginx]# cat provxy_params

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;

配置虚拟主机,在虚拟主机里指定web域名,proxy模块和地址池模块
cat /etc/nginx/conf.d/proxy_wordpress.conf

upstream upload_pools{
    server 172.16.1.7:8080;
    server 172.16.1.8:8080;
    }
server {
    listen 80;
    server_name blog.oldboy.com;
    location / {
        proxy_pass http://uploa_pools;
        include proxy_params;
    }
}

当有多个域名代理,只要增加代理模块和地址池模块(地址池名字自定义)就行!
3,测试
1,访问域名blog.oldboy.com在两台web系统访问日志里可以看到来自nginx反向代理负载均衡来的地址
25,Nginx反向代理负载均衡

猜你喜欢

转载自blog.51cto.com/13858002/2436797