关于 Apache、Nginx 和 Tomcat 在网上有很多介绍,这儿个人觉得说的比较有道理,所以记录下来了,
从严格意义上来说,Apache 与 Nginx 被称作 HTTP Server ;
而 Tomcat 则是一个 Application Server ,或者更准确的来说,是一个 Servlet/JSP 应用的容器。
在 Apache/Nginx 中一个 HTTP Server 关心的是 HTTP 协议层面的传输和访问控制,所以在 Apache 与 Nginx 上你可以看到正向/反向代理、负载均衡等功能。客户端通过 HTTP Server 访问服务器上存储的静态资源(包括:静态 HTML 文件、图片文件等等)。通过 CGI 技术,也可以将处理过的内容通过 HTTP Server 分发,但是一个 HTTP Server 始终只是把服务器上的文件如实的通过 HTTP 协议传输给客户端。
在通常情况下 Apache + Tomcat 或者 Nginx + Tomcat 进行组合使用个,我们目前生产环境中使用的是 Apache + Tomcat 实现集群及负载均衡等。