美文网首页
Nginx 反向代理与负载均衡

Nginx 反向代理与负载均衡

作者: 梁坤同学 | 来源:发表于2020-01-03 23:58 被阅读0次

    反向代理

    反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

    正向代理是针对你的客户端,如下图

    反向代理.png

    反向代理是针对服务器,如下图:

    正向代理.png

    配置反向代理

    • 在 nginx 主机修改 nginx 配置文件
    upstream tomcat-portal {
      server 192.168.00.000:8080;
    }
    server {
      listen 80;
      server_name www.example.com;
      location / {
        proxy_pass http://tomcat-portal;
        index index.html;
      }
    }
    
    • 重启 nginx,用浏览器测试:www.example.com (此域名需配置域名指向)

    负载均衡

    负载均衡就是分摊到多个操作单元上进行执行,例如 web 服务器、FTP 服务器等,从而共同完成工作任务。

    配置负载均衡

    • 将放有首页工程的 tomcat 复制两份,端口分别为 8120 和 8280
    • 分别启动这两个 tomcat 服务器的 tomcat 服务
    • 修改 nginx 配置文件:
    upstream tomcat-portal {
      server 192.168.00.000:8080;
      server 192.168.00.000:8180;
      server 192.168.00.000:8280;
    }
    server {
      listen 80;
      server_name www.example.com;
      location / {
        proxy_pass http://tomcat-portal;
        index index.html
      }
    }
    

    此时,用浏览器访问 http://www.example.com 就会有三台服务器负载这个页面,并且三台服务出现的概率相同,交替出现。

    如果其中一台服务器性能比较好,想让其承担更多的压力,可以通过 weight 设置权重。

    upstream tomcat-portal {
      server 192.168.00.000:8080;
      server 192.168.00.000:8180 weight=2;
      server 192.168.00.000:8280;
    }
    

    此时,用浏览器访问 http://www.example.com 第一台和第三台服务器出现的概率各为25%,第二台服务器出现的概率为50%。

    相关文章

      网友评论

          本文标题:Nginx 反向代理与负载均衡

          本文链接:https://www.haomeiwen.com/subject/ghtxactx.html