由于最近在部署云服務器主機,在對Web服務器軟件的選型方面進行了摸索,把筆記記下來,便于以后查閱。
一、NGINX
俄羅斯人Igor Sysoev從2002年開始開發NGINX,并在2004年發布了第一個公開版本。NGINX的開發是為了解決C10K(C10K是如何處理1萬個并發連接的簡寫)問題,目前,它是第二流行的開源web服務器,全球有超過30%的網站在使用它。
NGINX依靠異步事件驅動架構來幫助其處理大量的并發會話,由于其對資源的輕量利用和伸縮自如的特性,它成為了廣受歡迎的web服務器。
NGINX在類BSD(Berkeley Software Distribution)許可協議的授權下發布的,它不僅可作為web服務器進行部署,也可作為代理服務器或負載平衡器。你可以在NGINX社區網站找到它的更多信息。
二、Apache HTTP Server
Apache HTTP Server,我們常常稱之為httpd,或者更簡單的Apache。它誕生于1995年,并在2015年2月20日度過了其20歲的生日。全球超過52%的網站使用了Apache,它是目前最流行的web服務器。
Apache httpd通常運行在Linux上,也可以部署在OS X和Windows之上,它的發布得到Apache許可證 2.0 版的許可。該web服務器自身使用模塊化架構,加載其它額外的模塊可以作為其額外特性。比如,加載mod_proxy模塊可以增加服務器代理/ 網關的功能,加載mod_proxy_balancer模塊可以為所有支持的協議提供負載平衡。在v2.4版本里,Apache可通過全新的mod_http2模塊支持HTTP/2。
從1996年開始,Apache HTTP Server就已經是最為流行的web服務器了,這與它擁有偉大的文檔和軟件項目集成支持的特性是分不開的,你可以在Apache基金會的項目頁面上找到它的更多信息。
三、Apache Tomcat
Apache Tomcat是一個可作為web服務器的開源Java servlet容器。Java servlet是可擴展服務器特性的Java程序,雖然servlets可以對任何類型的請求作出響應,但是它還是最常用于Web服務器上的應用實施。這些web servlet在Java上的作用與PHP和ASP.NET等其它動態web技術類似。Tomcat的代碼庫是由Sun Microsystems公司在1999年捐贈給Apache軟件基金會的,并在2005年成為Apache的頂級項目,目前有不到1%的網站在使用它。
Apache Tomcat是在Apache許可證 2.0 版的授權下進行發布的,通常用于運行Java應用程序。此外,它能夠通過Coyote的擴展,扮演為本地文件HTTP文檔服務的普通服務器的角色。更多詳細的信息可以查看Apache Tomcat項目網站。
另外,Apache Tomcat還經常內嵌在其它開源Java應用服務器中,如JBoss, Wildfly和Glassfish。
四、Lighttpd
Lighttpd,于2003年3月首次發布,目前全球有大約0.1%的網站在使用它,它是在BSD的許可協議下發布的。
Lighttpd以其低內存占用,低CPU負載和處理速度的優化而獨立于世,它使用事件驅動架構,對大量并行連接進行優化,支持FastCGI, SCGI, Auth,Output-compression, URL-rewriting等多種功能。Lighttpd主要用于Catalyst和Ruby on Rails的web框架。通過項目主頁,你可以找到它的更多信息。