网络知识收集 -Http Server

        现在流行的Http Server 有: Nginx, Apache 。Nginx非常流行,而且还会对他进行个性化开发定制。

Nginx(发音同 engine x)(中文Wiki)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。  其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好. 

      能够支持50000个并发链接数的响应。可作为7层(Layer 7 第七层)负载均衡器,可以针对http应用做一些分流的策略,比如针对域名、目录结构。Nginx对网络的依赖比较小,Nginx 是基于消息的,异步处理,非阻塞(non-blocking) . 并且能够跟Memcached/Redis,以及其它的NoSql集成,带来更强的并发性能。Nginx 使用Epoll方式,性能提高很多 . See alsoThe architecture of Nginx 

       淘宝的Nginx的详解

Apache ,众所周知,比较古老了,1996年就有了。占有率依然第一。牛了很多年了,在此只提一些跟Nginx区别的地方。 它是基于线程处理的,每一个请求给一个线程,请求处理完,才能干下一个请求。是请求阻塞的。是同步的。见Apache 介绍:The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

    Nginx 和 Apache 目前都支持 Google的SPDY ,都是同Module的方式支持,Nginx的Ngx_http_spdy_module还只是实验性的,无版本号,最新版本支持SPDY draft 3.1。Apache的mod_spdy 是对应 Apache 2.2 ,最新版本:0.9.4.2

    Jetty  已经支持 SPDY,beginning with versions 7.6.2 and 8.1.2Tomcat 8 支持SPDY


个人感觉,Nginx 有一堆worker,不停的接收请求,然后发出处理请求后完事,在不停的接收返回结果送出去。想一个缓存或路由一样,直管分发。

Apache则相当于有专人盯着,负责接收请求,并等着请求返回。它们的差别是 Nginx的worker只干流程的一部分,而Apache的线程是负责全流程。

不错的文章

1. Nginx vs Apache

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章