美文网首页
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