小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡

简介

Java服务大多是跑在tomcat里,但是众所周知tomcat的并发性能没有优势(tomcat8及以上的版本可能有所改善),所以为了更好的适应高并发的应用场景,我们可以使用tomcat+nginx实现动静分离,在处理静态请求的时候,就直接给Nginx处理,动态请求就转给tomcat处理。

简单一句话就是,nginx负责静态请求,以及高并发下的负载均衡调度动态请求给tomcat处理。

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-猿站网-插图

Nginx配置普通tomcat跳转

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-1猿站网-插图

通过proxy_pass配置请求转发地址。即当访问localhost的8010端口时,请求会跳转至localhost的8080端口处。

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-2猿站网-插图

动静分离配置

上面我们直接试了一个小例子,让nginx进行转发,即所谓的反向代理。但实际上我们的需求不会是这样的,我们需要分文件类型来进行过滤,比如jsp直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP,而html,js,css这些不需要处理的,直接给nginx进行缓存。

这时最主要用的还是location这个元素,并且涉及到一部分正则,但不难,具体配置如下:

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-3猿站网-插图

此时再直接输入localhost:8010,则会报404错误了。但是输入localhost:8010/index.jsp,则一样可以跳转至tomcat首页中。

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-4猿站网-插图

负载均衡配置

当一台服务器出现故障后,我们需要将请求自动转向另一台服务器,此种需求该如何配置呢?利用Nginx也是比较方便能够实现,具体配置如下:

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-5猿站网-插图

注意,上面还加上了一个weight属性,此属性表示各服务器被访问到的权重,weight越高访问到的几率越高。

其他配置

%小知识:Nginx+Tomcat实现高并发场景的动静分离和负载均衡-6猿站网-插图

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Nginx 反向代理与负载均衡详解

2023-5-1 1:41:16

建站知识

小知识:LAMP服务器性能优化技巧之加速PHP

2023-5-1 1:54:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索