Linux Nginx 反向代理

使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求 均匀转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web 服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。

实现这个反向代理能力并不能算是一个特别复杂的任务,每针对一次代理,代理服务器就 必须打开两个连接,一个为对外的连接,一个为对内的连接,因此对于连接请求数量非常大的时候,代理服务器的负载也就非常之大了,在最后反向代理服务器会成 为服务的瓶颈。

使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以实现较好的负载均衡策略,将负载可以非常均衡的分给内部服务器,不会出现负载集中到某个服务器的偶然现象。


  • 实验环境:

  • 网站域名 : www.myweb.com

  • Server 192.168.1.2   CentOS 7.5   Nginx反向代理+DNS服务器

  • Web 1  192.168.1.3 CentOS 7.5    Nginx+MariaDB

  • Web 2  192.168.1.4 CentOS 7.5    Nginx+PHP+BBS

  • Web 3  192.168.1.5 CentOS 7.5    Nginx+PHP+BLOG

  •  Server 192.168.1.2  配置 Nginx 作为反向代理服务器,放置到三台 Web 服务器之前,作为用户访问的入口

Web 1 服务器仅仅处理静态页面,动态的页面(php请求)统统都交付给后台的Web 2 和 Web 3 服务器来处理。也就是说,可以把网站的静态页面或者文件放置到 Web 1下;动态的页面和数据库访问都保留到后台的 Web+PHP 服务器上。


  • /var/named/myweb.com.zone 
    $TTL    1D
    @    IN SOA www.myweb.com. root.myweb.com. (
                    0 ; serial
                    1D ; refresh
                    1H ; retry
                    1W ; expire
                    3H ) ; minimum
        IN NS www.myweb.com.
        MX 10   root.mytest.com.
    www    IN A 192.168.1.3
    bbs    IN A 192.168.1.4
    blog    IN A 192.168.1.5
    root    IN A 192.168.1.2

  • /etc/named.rfc1912.zones
    zone "myweb.com" IN {
        type master;
        file "myweb.com.zone";
    };
    zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "myweb.com.zone";
    };

  • 将本地 DNS 指向本机后,测试 DNS 

  • Nginx 反向代理设置

  • server {       #设置 Web 1 
        listen      *:80;
        location / {
        proxy_pass  http://www.myweb.com;
            root   /data/web/;
            index  index.html index.htm index.php;
        }
    }
    server {     #设置 Web 2
        listen      *:80;
        location / {
        proxy_pass  http://bbs.myweb.com;
            root   /data/web/bbs;
            index  index.html index.htm index.php;
        }
    }
    server {     #设置 Web 3
        listen      *:80;
        location / {
        proxy_pass  http://blog.myweb.com;
            root   /data/web/blog;
            index  index.html index.htm index.php;
        }
    }

  • 启动 Nginx 服务


  • Web 1 设置

  • Web 2 和 Web 3 设置

  • 下面开始测试,首先将 WINDOWS 的 DNS 指向 Server 192.168.1.2

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值