简析Tomcat 、Nginx 与Apache,Web 服务器之间的比较

1. Apache(Web服务器)

        Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

缺点:配置相对复杂,自身不支持动态页面。
优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态HTML、图片等。

Apache是应用服务器,支持模块多,性能稳定。其本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。一般用作php服务器。

2. Tomcat

        Tomcat 是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。
        对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
        当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。Tomcat 同样具有处理HTML页面的功能,另外它还是一个Servlet 和JSP 容器,独立的Servlet 容器是Tomcat 的默认模式,但是Tomcat 处理静态HTML的能力不如Apache服务器。

缺点:可以说Tomcat 只能用做java服务器
优点:动态解析容器,处理动态请求,是编译JSP/Servlet的容器。

Tomcat 可以说是(Java)应用服务器,它是一个Servlet 和JSP 容器,可以认为是Apache 的扩展,但是可以独立于Apache 运行。

3. Nginx

        Nginx (engine x) 是一款轻量级的Web 服务器,同时它也是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP(电子邮件代理服务)服务。其特点是占有内存少,并发能力强,易于开发,部署方便。Nginx 支持多语言通用服务器。
        Nginx 相对于Apache 的优点是轻量级,同样起web 服务,比Apache 占用更少的内存及资源、抗并发,Nginx 处理请求是异步非阻塞的,而Apache 则是阻塞型的。 Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用。

缺点:Nginx 只适合静态和反向代理。
优点:负载均衡、反向代理、处理静态文件优势。Nginx 处理静态请求的速度高于Apache。

Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。

反向代理(Reverse Proxy)

        反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器, 并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

参考文献:https://yq.aliyun.com/php/1592

猜你喜欢

转载自blog.csdn.net/Piqzem/article/details/84646474