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