欢迎来到酷客淘,为站长提供交易担保服务 访问移动版

tomcat有必要加nginx吗

日期: 2019-06-11 09:08:22 人气: -

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定向到同一个后端服务器,后端服务器为缓存时比较有效。