利用Nginx实现反向代理和负载均衡

什么是反向代理?

正向代理(基于客户端的代理)

正向代理

反向代理(基于服务器端的代理)

反向代理

反向代理服务器决定哪台服务器提供服务,返回代理服务器不提供服务器,也是请求的转发。

Nginx实现反向代理

两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。
两个域名是www.sian.com.cnwww.sohu.com,nginx服务器使用虚拟机192.168.25.133

第一步:安装两个tomcat,分别运行在8080和8081端口。
第二步:启动两个tomcat(注意修改tomcat的端口号)。
第三步:反向代理服务器的配置
在Nginx下的nginx.conf配置tomcat节点

upstream tomcat1 {
    server 192.168.25.133:8080;
    }
    server {
        listen       80;
        server_name  www.sina.com.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://tomcat1;
            index  index.html index.htm;
        }
    }
    upstream tomcat2 {
    server 192.168.25.133:8081;
    }
    server {
        listen       80;
        server_name  www.sohu.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://tomcat2;
            index  index.html index.htm;
        }
    }

第四步:nginx重新加载配置文件
第五步:配置域名
在hosts文件中添加域名和ip的映射关系
192.168.25.133 www.sina.com.cn
192.168.25.133 www.sohu.com

重新加载配置文件

sbin/nginx -s reload

由于niginx里面配置了sohu和sina两个tomcat的地址,每当我们发起请求到tomcat,tomcat就会响应给niginx,niginx再把请求响应给我们,简单来讲就是配置多台tomcat服务器,交给niginx管理,是哪台服务器的请求就由niginx选择响应


负载均衡

如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。这个时候,发送请求,两台服务轮询响应

 upstream tomcat2 {
    server 192.168.25.148:8081;
    server 192.168.25.148:8082;
  }

可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1

 upstream tomcat2 {
    server 192.168.25.148:8081;
    server 192.168.25.148:8082 weight=2;
    }
全部评论

相关推荐

03-27 16:40
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网计算机类笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功----------分割线-----------2026.3.21 电网面试结束,感觉回答的还勉勉强强,大概是2个岗位分别招1个人,一共11人面试,实际来了9人2026.3.27 出面试成绩,满分100分,早上10:20左右发现面试成绩46,我震惊了,没截图,后面过了十分钟重新看发现面试成绩给我改成58了。但同样震惊。朋友问我是不是把面试官打了,哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务