一篇文章带你学会 Nginx 反向代理和负载均衡

一、反向代理

1. 什么是反向代理

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

首先我们理解正向代理:代理客户端,统一请求网络资源
在这里插入图片描述
正向代理是针对你的客户端,而反向代理是针对服务器的:
在这里插入图片描述
这样操作除了方便外,也更安全,便于统一安全部署,比如:加防火墙
在这里插入图片描述

2. 配置反向代理的前期准备

将 案例 部署到服务器的 Tomcat 中的 ROOT 目录下

项目的具体部署课参考:一篇文章带你学会部署项目到 Linux 中

为了操作方便(不需要输入对应的项目名称访问):这里将项目打成 ROOT.war ,
在这里插入图片描述
将服务器/usr/local/tomcat/apache-tomcat-7.0.57/webapps下的内容删除,将打好的包导入
在这里插入图片描述
将war包导入该 webapps 中:
在这里插入图片描述
在这里插入图片描述
可以正常访问:
在这里插入图片描述

3. 配置反向代理

(1)修改 nginx.conf 配置文件:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
   
    keepalive_timeout  65;

    # 配置要代理的 网址
    upstream tomcat-travel{
        server 192.168.245.129:8080;
    }

    # 配置 index 访问资源
    server {
        listen       80;
        server_name  www.travel.com;

        location / {
           # root   index;
           # 对应要代理的网址
            proxy_pass http://tomcat-travel;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

在这里插入图片描述
(2)重新启动Nginx 然后用浏览器测试:http://www.travel.com (此域名须配置域名指向)
在这里插入图片描述

二、负载均衡

1. 什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

在这里插入图片描述

2. 配置负载均衡的前期准备

实际应该部署不同的服务器上,这里为了演示方便就同一台服务器配置了三个 Tomcat

(1)将刚才的存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082 。
在这里插入图片描述
通过 Xftp 快速修改server.xml 的端口
在这里插入图片描述
(2)分别启动这三个tomcat服务。
在这里插入图片描述
(3)为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分

3. 配置负载均衡

(1)修改 nginx.conf 配置文件:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
   
    keepalive_timeout  65;

    # 配置要代理的 网址
    upstream tomcat-travel{
        server 192.168.245.129:8080;
        server 192.168.245.129:8081;
        server 192.168.245.129:8082;
    }

    # 配置 index 访问资源
    server {
        listen       80;
        server_name  www.travel.com;

        location / {
           # root   index;
           # 对应要代理的网址
            proxy_pass http://tomcat-travel;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

在这里插入图片描述
三种随机可以访问到:
在这里插入图片描述
在这里插入图片描述
(2)如果此时我想要一个 2:1:1 的几率选择:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/106929194