網絡知識收集 -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

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