天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。

Tomcat 结合 Nginx 一起使用!

itzoo 400次浏览 0个评论

点击“终码一生”,关注,置顶公众号

每日技术干货,第一时间送达!



1

背景


tomcat既是一个servlet和jsp容器,也是一个轻量级的web服务器,它既可以处理动态内容,也可以处理静态内容。为什么还需要结合nginx一起使用?


原因:


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

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


 

2

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




3

Nginx反向代理配置


nginx/conf/nginx.conf:



PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。


往期推荐



Mybatis 常用动态标签大全,看完秒会!

IntelliJ IDEA 2021.3 最终版正式发布,还是那么香!(末尾有惊喜)

每日开源 | 一款基于 SpringBoot+Vue 开发的分布式网盘系统

JetBrains:推出“新一代 IDE ”!VS Code 对手来了

推荐几款数据可视化大屏项目,科技感爆棚!!

Fastjson 的漏洞还是挺多的…



ITZOO版权所有丨如未注明 , 均为原创丨转载请注明来自IT乐园 ->Tomcat 结合 Nginx 一起使用!
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址