当前位置:  开发笔记 > 后端 > 正文

tomcat有必要加nginx吗

有必要tomcat处理html的能力不如nginx,处理静态内容的速度不如nginx,所以静态页面交给nginx,动态请求交给tomcat处理。tomcat接受的最大并发数有限,连接数过多,导致tomcat处于"僵尸"状态,而和它配合就ok
tomcat既是一个servlet和jsp容器,也是一个轻量级的web服务器,它既可以处理动态内容,也可以处理静态内容。为什么还需要结合nginx一起使用?

原因:

(1)、tomcat处理html的能力不如nginx,处理静态内容的速度不如nginx,所以静态页面交给nginx,动态请求交给tomcat处理。

(2)、tomcat接受的最大并发数有限,接连接数过多,会导致tomcat处于"僵尸"状态,对后续的连接失去响应,需要利用nginx的高并发,低消耗的特点与tomcat一起使用。

Nginx优点

2.1、动静分离&反向代理

nginx是一种轻量级,高性能,多进程的web服务器,非常适合作为静态资源的服务器使用,而动态的访问操作可以使用tomcat来实现,nginx作为代理服务器的同时,也使用其作为静态资源的服务器。静态资源通过绝对路径去访问,放在nginx服务器当中,动态资源通过url拼接字符串的方式去访问tomcat服务器。

2.2、负载均衡

为了解决并发,我们可以使用负载均衡,也就是我们多增加几个tomcat服务器,当用户访问的时候,请求可以提交到空闲的tomcat服务器上。

Nginx的upstream目前支持以下几种方式的分配

(1)、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

(2)、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

(3)、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

(4)、fair

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

(5)、url_hash

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!

以上就是tomcat有必要加nginx吗的详细内容,更多请关注其它相关文章!

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有