1.nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让java web app放在里面。

严格意义上来讲,Apache和nginx应该叫做HTTP Server,而tomcat是一个Application Server是一个Servlet/JSO应用的容器。
在这里插入图片描述
客户端通过HTTP Server访问服务器上存储的资源(HTML文件,图片文件等),HTTP Server是中只是把服务器上的文件如实通过HTTP协议传输给客户端。
注意:nginx只是把请求做了分发,不做处理!!!

2.而tomcat(应用服务器),则是一个应用执行的容器。它首先需要支持开发语言的 Runtime(对于 Tomcat 来说,就是 Java),保证应用能够在应用服务器上正常运行。应用服务器往往是运行在HTTP Server的背后,执行应用,将静态的内容转化为动态的内容之后,通过HTTP Server分发到客户端
在这里插入图片描述
3. nginx和Apache的区别

所以Apache和Nginx是一类的,tomcat等应用服务器是一类的。下面说一下Apache和Nginx的区别(引用)

Apache是同步多进程模型,一个连接对应一个进程,而nginx是一步的,多个连接(万级别)可以对应一个进程。
nginx轻量级,抗并发,处理静态文件好
Apache超稳定,对PHP支持比较检单,nginx需要配合其他后端用,处理动态请求有优势
建议使用前端nginx抗并发,后端apache集群,配合起来会更好

下面我会部署一套Nginx的反向代理服务器用来做负载均衡分发请求,相应教程也会总结。