1.两者所用的驱动模式不同。

nginx使用的是epoll的非堵塞模式事件驱动。

apache使用的是select的堵塞模式事件驱动。

2.fastcgi和cgi的差别

当用户请求web服务的时候。web会依据不同的需求将请求发送给不同个cgi来处理。

cgi模式,就是每次有请求的时候都fork一个新的进程来处理这个请求。处理完毕后再关闭这个进程。

fastcgi模式。就是在server启动的时候依据配置文件建立几个cgi接口进程长驻在内存其中,当有请求连接的时候,cgi被激活来处理请求连接。处理完成后cgi进程也不会关闭。会再次等待下次的请求连接。

由于进程的创建和关闭须要占用非常大的内存和cpu资源。所以,相比較而言。处理多请求的情况下fastcgi模式的长处会不言而喻。

3.两者的支持模块

Apache支持的模块非常多。并且也比較稳定。而nginx因为出现的比較晚,所以在这方面可能比不上Apache。

nginx本身就是一个反向代理server,并且支持7层负载均衡。

Apache的rewrit功能比nginx强大很多。

nginx是多线程的,而Apache是多进程的。

nginx是异步堵塞,而Apache是堵塞

nginx处理动态页面非常鸡肋,一般仅仅用与处理静态页面和反向代理。

Apache因为支持的模块比較多。能够支持比較多的动态页面。并且性能比較稳定。

假设须要性能。就使用nginx。假设须要稳定。就使用Apache。

3.1.1 堵塞和非堵塞:

堵塞和非堵塞指的是运行一个操作是等操作结束再返回,还是立即返回。

比方餐馆的服务员为用户点菜,当实用户点完菜后,服务员将菜单给后台厨师,此时有两种方式:

  • 第一种:就在出菜窗体等待,直到厨师炒完菜后将菜送到窗体,然后服务员再将菜送到用户手中。
  • 另外一种:等一会再到窗体来问厨师,某个菜好了没?假设没有先处理其它事情,等会再去问一次;

第一种就是堵塞方式。另外一种则是非堵塞的。

3.1.2 同步和异步:

同步和异步又是另外一个概念。它是事件本身的一个属性。还拿前面点菜为例,服务员直接跟厨师打交道,菜出来没出来,服务员直接指导,但仅仅有当厨师将菜送到服务员手上,这个过程才算正常完毕,这就是同步的事件。

相同是点菜,有些餐馆有专门的传菜人员。当厨师炒好菜后。传菜员将菜送到传菜窗体,并通知服务员,这就变成异步的了。事实上异步还能够分为两种:带通知的和不带通知的。前面说的那种属于带通知的。

有些传菜员干活可能主动性不是非常够,不会主动通知你,你就须要时不时的去关注一下状态。这样的就是不带通知的异步。

对于同步的事件。你仅仅能以堵塞的方式去做。而对于异步的事件。堵塞和非堵塞都是能够的。

非堵塞又有两种方式:主动查询和被动接收消息。

被动不意味着一定不好。在这里它恰恰是效率更高的,由于在主动查询里绝大部分的查询是在做无用功。对于带通知的异步事件,两者皆可。

而对于不带通知的,则仅仅能用主动查询。

nginx和apache作为webserver的差别的更多相关文章

  1. nginx和apache的一些比较

    1.两者所用的驱动模式不同. nginx使用的是epoll的非阻塞模式事件驱动. apache使用的是select的阻塞模式事件驱动. 2.fastcgi和cgi的区别 当用户请求web服务的时候,w ...

  2. nginx和apache的优缺点比较

    简单的说apache httpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题.apache httpd:稳定.对动态请求处理强,但同时高并发时性能较弱,耗费资源多 ...

  3. nginx与Apache的对比以及优缺点

    本文来自其他文章.如有好的问题,希望各位大神多多分享, 谢谢了..... 今天准备较详细的对比一下apache httpd与nginx两个web服务器的异同点.优缺点.由于我并不是做web开发的,所以 ...

  4. web服务器nginx和apache的对比分析

         今天准备较详细的对比一下apache httpd与nginx两个web服务器的异同点.优缺点.由于我并不是做web开发的,所以有什么理解错误还请指出,想要了解它们是因为工作中有时候会用到它, ...

  5. 前nginx后Apache+Node反向代理

    前几天一直在被一个问题困扰,机器上跑的站点太多了,Apache上面有十几个,NodeJS的也有一堆,记端口号都要烦死,于是萌生了使用反向代理的想法.出发点貌似太low了,完全不是出于负载均衡.高并发什 ...

  6. Nginx与Apache的比较

    Nginx与Apache的比较 Nginx相对于Apache的优点 轻量级.同样起web服务,比apache占用更少的资源和内存 抗并发.nginx处理请求是异步非阻塞,而apache则是阻塞型.在高 ...

  7. iOS - Apache Tomcat WebServer 服务器配置

    前言 提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提前准备好的软件: apache-tomcat-6.0.45.tar.gz eclip ...

  8. web服务器之nginx与apache

    最近准备架设php的web服务器,以下内容可供参考. 1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞 ...

  9. Tomcat 搭配 Nginx 还是 Apache 呢?

    Apache .Tomcat.Nginx的区别, 哪个与Tomcat搭配效率高? 一. 定义: 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机 ...

随机推荐

  1. Android开发进度07

    1,今日:目标:完成记账功能 2,昨天:账单的增删改查方法 3,收获:无 4,问题:SQLite表单出现问题,提交后软件直接退出

  2. Node.js 指南(迁移到安全的Buffer构造函数)

    迁移到安全的Buffer构造函数 移植到Buffer.from()/Buffer.alloc() API. 概述 本指南介绍了如何迁移到安全的Buffer构造函数方法,迁移修复了以下弃用警告: 由于安 ...

  3. C#调用带结构体指针的C Dll的方法【转】

    发现一篇文章关于C#调用DALL动态链接库的函数的,复制下来学习用.感谢作者的分析,原文传送门:https://www.cnblogs.com/ye-ming/p/8004314.html 在C#中调 ...

  4. NYIST 677 碟战

    碟战时间限制:2000 ms | 内存限制:65535 KB难度:4 描述知己知彼,百战不殆!在战争中如果被敌人掌握了自己的机密,失败是必然的.K国在一场战争中屡屡失败,就想到自己的某些城市可能会有敌 ...

  5. angular-HTML DOM

    ng-disabled用法 <div ng-app="" ng-init="mySwitch=true"> <p> <button ...

  6. ASP.NET-入门

    MVC5特点 1.One ASP.NET统一平台  2.Bootstrap 免费CSS,响应式页面 3.路由标记属性:简单.控制器.操作.前缀.参数.URL 4.ASP.NET web API 2 : ...

  7. Linux下基于多线程的echo

    准备开始写一些Linux 下网络编程以及多线程的blog,就从这个简单的echo程序开始吧. 在echo的服务端使用多线程与客户进行通信,可以实现一个服务端程序同时连接多个客户的功能.那么,到底在服务 ...

  8. GNU Linux中的SO_RCVLOWAT和SO_SNDLOWAT说明

    /*********************************************************************  * Author  : Samson  * Date   ...

  9. 初识Dubbo 系列之5-Dubbo 成熟度

    成熟度 功能成熟度 Feature特征 Maturity成熟度 Strength强度 Problem问题 Advise建议 User用户 并发控制 Tested 并发控制   试用   连接控制 Te ...

  10. 正睿NOIP赠送附加赛1

    T1:math 题目链接: http://zhengruioi.com/contest/156/problem/471 题解: 先讲讲我的乱搞做法.对于前面70%,我跑了背包.因为背包有后效性...我 ...