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. C语言实现将一个整形数转换为两个字节16进制

    有时候要用到这个转换,这里记录一下,例如把 int a = 164 转换储存在数组里为 uint8_t b[0]=0x00  , b[1]=0xA4 . 很简单,转换如下: b[0] = a > ...

  2. Vue-router入门

    1.npm install vue-router --save-dev 安装路由包,在安装脚手架时实际上可以直接安装 2.解读核心文件 router/index.js文件 import Vue fro ...

  3. Spring 7大功能模块的作用

    1.   Spring 7大功能模块的作用 1)   核心容器(Spring core) 核心容器提供Spring框架的基本功能.Spring以bean的方式组织和管理Java应用中的各个组件及其关系 ...

  4. java判断string数组中是否包含某个元素

  5. 【转载】黑客内核:编写属于你的第一个Linux内核模块

    黑客内核:编写属于你的第一个Linux内核模块

  6. [React] Understanding setState in componentDidMount to Measure Elements Without Transient UI State

    In this lesson we'll explore using setState to synchronously update in componentDidMount. This allow ...

  7. hdu 3449 Consumer (依赖01背包)

    题目: 链接:pid=3449">点击打开链接 题意: 思路: dp[i][j]表示前i个箱子装j钱的材料可以得到的最大价值. 代码: #include<iostream> ...

  8. Java的接口总结

    Java最主要的封装是class.除此之外还有接口interface. 这段时间一直在想接口有什么作用呢.有了接口有哪些优点呢.结合网络上各位大神的文章,接口的作用大概体如今下面几个方面. 1.回调 ...

  9. ubuntu 交叉编译qt 5.7 程序到 arm 开发板

    ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ...

  10. m_Orchestrate learning system---十、解决bug最根本的操作是什么

    m_Orchestrate learning system---十.解决bug最根本的操作是什么 一.总结 一句话总结:多学多练,遇到bug超级轻松 1.如何查看js代码的异常? 开发者选项里面可以查 ...