• Apache和Nginx的区别


    Apache 和 Nginx的区别与比较:

     

    Apache:

    Apache HTTP Server(简称apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一,它快速、可靠并且通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

    Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。

     

    Nginx:

    Nginx是一个高性能的HTTP和反向代理服务器。

    是一款轻量级的web服务器/反向代理服务器/电子邮件(IMAP/POP3)代理服务器。

     

    1、优缺点比较:

    (1)nginx相对于apache的优点:

    * 轻量级,同样起web服务,比apache占用更少的内存及资源

    * 抗并发,nginx处理请求是异步非阻塞的,而apache是阻塞型的

    在高并发下,nginx能保持低资源低消耗高性能

    * 高度模块化的设计,编写模块相对简单

    (2)apache相对于nginx的优点:

    * Rewrite比nginx的rewrite强大   ###rewrite的主要功能就是实现统一资源定位符(URL)的跳转

    * 模块多,基本想到的都可以找到

    * 少bug,nginx的bug相对较多

    * 超稳定

    存在的理由:一般来说,需要性能的web服务,用nginx。若不需要性能只求稳定,就选用apache。

    2、作为web服务器:

    相比apache,nginx使用更少的资源,支持更多的并发连接,体现更高的效率。

    Nginx作为负载均衡服务器:nginx既可以在内部直接支持rails和php程序对外进行服务,也可以支持http代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比较好。

    作为邮件代理服务器:最早开发这个产品的目的之一也是作为邮件代理服务器。

    3、nginx配置简洁, apache较复杂

    Nginx静态处理性能比apache高3倍以上

    4、最核心的区别在于:apache是同步多进程模型,一个连接对应一个进程,nginx是异步的,多个连接可以对应一个进程。

    Nginx处理静态文件好,耗费内存少,只适合静态和反向。Apache在处理动态有优势,nginx并发性比较好,CPU占用内存低,如果rewrite频繁,选用apache最佳。

  • 相关阅读:
    SpringMVC在使用Jackson2时关于日期类型格式化的问题
    Redis入门到高可用(八)——list
    LongAdder,AtomicIntegerFieldUpdater深入研究
    Redis入门到高可用(七)——Hash
    CAS缺点
    MySQL 当记录不存在时插入(insert if not exists)
    Redis入门到高可用(六)—— 字符串
    jsonp 跨域
    jvm
    指令重排序
  • 原文地址:https://www.cnblogs.com/liliuguang/p/13553585.html
Copyright © 2020-2023  润新知