Nginx:一款能承受高并发的HTTP服务器,异步的,多个连接(万级别)可以对应一个进程,进行响应。基于事件驱动模型。
Nginx优点:负载均衡、反向代理、处理静态文件优势。
Apache:相对于Nginx来说,同步多进程模型,一个连接对一个进程方式处理请求。在速度上和消耗来说,Apache不能承受高并发,会导致宕机。
Apache优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态HTML、图片等。相对于Nginx来说,Nginx配置简洁,简单配置负载均衡,而Apache配置复杂。Nginx处理静态文件的性能也优于Apache,Apache提供的组件比Nginx多,
Tomcat:动态解析容器,处理动态请求,是编译JSPServlet的容器。
Tomcat优势:处理动态请求,以线程的方式处理请求。
Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。
但为什么还需要使用Apache呢?好处在哪?
第一种可能:apache用来做静态服务器,而nginx只是做了一下负载均衡。
第二种可能:nginx做了静态服务器,负载均衡。apache来做一个中间层,用来检测请求,并做一些校验,和攻击防护,比加CSRF校验,防slow HTTP denial.这些只需要在apache加一个module即可,而真正的后台Tomcat只需要关注逻辑处理即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。