当前位置:首页 » 《关注互联网》 » 正文

Nginx——反向代理 & 负载均衡(无理论,案例实操)_张起灵-小哥的博客

10 人参与  2021年08月14日 15:03  分类 : 《关注互联网》  评论

点击全文阅读


1.开篇

有关Nginx的下载安装、相关理论内容,这里就不再多说了,详情可以参考我的这几篇文章:

https://szh-forever-young.blog.csdn.net/article/details/117992752

https://szh-forever-young.blog.csdn.net/article/details/117998893

https://szh-forever-young.blog.csdn.net/article/details/117993883

下面直接进行反向代理和负载均衡的案例实操。


2.反向代理案例一

首先启动tomcat,端口号我修改为了8082。

然后转到nginx的配置文件nginx.conf,listen表示监听80端口,服务器ip为192.168.40.130,location则表示当收到192.168.40.130发来的请求时,做一次请求转发,转发到http://127.0.0.1:8082,也就是tomcat的官网首页。


3.反向代理案例二

首先启动两台tomcat,端口号分别为8081、8082。

分别在这两台tomcat的webapps目录下,创建一个文件,其中存放一个 a.html 的页面。

转到nginx的配置文件中,在server块中做如下配置,此时监听9001端口,服务器地址仍然是linux本机ip,下面两个location是指:当请求路径中包含tomcat1的时候将请求转发至指定的tomcat,当请求路径中包含tomcat2的时候将请求转发至另一台指定的tomcat。

修改完配置文件,这里先将nginx停掉,然后再次启动测试。


4.负载均衡

因为要做负载均衡,这个和反向代理不同。负载均衡是说当nginx收到某些请求时,会将这些请求按照一定的算法(轮询、权重值、ip hash等)来将这些请求均衡的分发到不同的tomcat服务器中。

所以我们这里首先要在两台tomcat的webapps目录下创建相同的目录tomcat,在其中创建好一个简单的html页面。

转到nginx的配置文件,upstream XXX表示的是数据转发块,也就是通过server块中的proxy_pass来搭配使用,当监听的地址:192.168.40.130:80(80可以省略不写)发来请求时,会根据proxy_pass定义的http://myServer做请求转发,而myServer中有两个地址分别对应两台tomcat,所以这些请求就被平摊到了这两台tomcat中。

修改完nginx.conf配置文件,我们将nginx停掉,再次重启测试。

第一次访问,nginx将该请求转发到了8082这台tomcat;刷新浏览器页面,可以看到nginx又将该请求转发到了8081这台tomcat。

同样的url,多次发出请求,并不是说一直是8081、或者一直是8082,而是8081一次、8082一次,其实这里默认采用了轮询算法,可以看到nginx为8081、8082这两台tomcat做了负载均衡。


点击全文阅读


本文链接:http://zhangshiyu.com/post/25324.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1