1. 河豚號(hào) > 生活百科 >

服務(wù)器干什么用的,服務(wù)器的作用與分類介紹

統(tǒng)計(jì)數(shù)據(jù)顯示;

超過(guò)80%的web應(yīng)用程序和網(wǎng)站都是使用的開(kāi)源web服務(wù)器。在本文中,我們將介紹目前市場(chǎng)上最流行的5大開(kāi)源web服務(wù)器,并簡(jiǎn)要回顧它們的歷史,技術(shù)特性以及更多相關(guān)內(nèi)容,方便你自己能夠更加輕松的部署這些流行的web服務(wù)器。

根據(jù)維基百科介紹,web服務(wù)器是“通過(guò)HTTP協(xié)議處理web請(qǐng)求的計(jì)算機(jī)系統(tǒng)”(a computer system that processes requests via HTTP)。這個(gè)詞可以指代整個(gè)系統(tǒng),也可以指代可接收和管理HTTP請(qǐng)求的的程序。本文中介紹的web服務(wù)器指的是為終端用戶處理web請(qǐng)求的程序。

NGINX服務(wù)器

 

最流行的5大開(kāi)源web服務(wù)器

 

Igor Sysoev從2002年開(kāi)始開(kāi)發(fā)NGINX,并在2004年發(fā)布了第一個(gè)公開(kāi)版本。NGINX的開(kāi)發(fā)是為了解決C10K(C10K是如何處理1萬(wàn)個(gè)并發(fā)連接的簡(jiǎn)寫)問(wèn)題,目前,全球有超過(guò)30%的網(wǎng)站在使用它。

Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。

 

最流行的5大開(kāi)源web服務(wù)器

 

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)站找到它的更多信息。

NGINX的特點(diǎn):

服務(wù)器

Nginx作為負(fù)載均衡服務(wù)器:Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP 程序?qū)ν膺M(jìn)行服務(wù),也可以支持作為 HTTP代理服務(wù)器對(duì)外進(jìn)行服務(wù)。Nginx采用C進(jìn)行編寫,不論是系統(tǒng)資源開(kāi)銷還是CPU使用效率都比 Perlbal 要好很多。

處理靜態(tài)文件,索引文件以及自動(dòng)索引;打開(kāi)文件描述符緩沖。

無(wú)緩存的反向代理加速,簡(jiǎn)單的負(fù)載均衡和容錯(cuò)。

FastCGI,簡(jiǎn)單的負(fù)載均衡和容錯(cuò)。

模塊化的結(jié)構(gòu)。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服務(wù)器處理單頁(yè)中存在的多個(gè) SSI,則這項(xiàng)處理可以并行運(yùn)行,而不需要相互等待。

支持 SSL 和 TLSSNI。

代碼

Nginx代碼完全用C語(yǔ)言從頭寫成,已經(jīng)移植到許多體系結(jié)構(gòu)和操作系統(tǒng),包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函數(shù)庫(kù),并且除了zlib、PCRE和OpenSSL之外,標(biāo)準(zhǔn)模塊只使用系統(tǒng)C庫(kù)函數(shù)。而且,如果不需要或者考慮到潛在的授權(quán)沖突,可以不使用這些第三方庫(kù)。

代理服務(wù)器

作為郵件代理服務(wù)器:Nginx 同時(shí)也是一個(gè)非常優(yōu)秀的郵件代理服務(wù)器(最早開(kāi)發(fā)這個(gè)產(chǎn)品的目的之一也是作為郵件代理服務(wù)器),Last.fm 描述了成功并且美妙的使用經(jīng)驗(yàn)。

Nginx 是一個(gè)安裝非常的簡(jiǎn)單、配置文件非常簡(jiǎn)潔(還能夠支持perl語(yǔ)法)、Bug非常少的服務(wù)器。Nginx 啟動(dòng)特別容易,并且?guī)缀蹩梢宰龅?*24不間斷運(yùn)行,即使運(yùn)行數(shù)個(gè)月也不需要重新啟動(dòng)。你還能夠不間斷服務(wù)的情況下進(jìn)行軟件版本的升級(jí)。

Lighttpd服務(wù)器

Lighttpd 是一個(gè)德國(guó)人領(lǐng)導(dǎo)的開(kāi)源Web服務(wù)器軟件,其根本的目的是提供一個(gè)專門針對(duì)高性能網(wǎng)站,安全、快速、兼容性好并且靈活的web server環(huán)境。具有非常低的內(nèi)存開(kāi)銷、cpu占用率低、效能好以及豐富的模塊等特點(diǎn)。

 

最流行的5大開(kāi)源web服務(wù)器

 

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è),你可以找到它的更多信息。

Apache

Apache HTTP Server 簡(jiǎn)稱為 Apache。它誕生于1995年,并在2015年2月20日度過(guò)了其20歲的生日。全球超過(guò)52%的網(wǎng)站使用了Apache,它是目前最流行的web服務(wù)器。

Apache,中文名:阿帕奇,是Apache軟件基金會(huì)的一個(gè)開(kāi)放源碼的網(wǎng)頁(yè)服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過(guò)簡(jiǎn)單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中。開(kāi)發(fā)者 Apache軟件基金會(huì)。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年開(kāi)始,Apache HTTP Server就已經(jīng)是最為流行的web服務(wù)器了,這與它擁有偉大的文檔和軟件項(xiàng)目集成支持的特性是分不開(kāi)的,你可以在Apache基金會(huì)的項(xiàng)目頁(yè)面上找到它的更多信息。

Apache Tomcat

Apache只支持靜態(tài)網(wǎng)頁(yè),但像php,cgi,jsp等動(dòng)態(tài)網(wǎng)頁(yè)就需要Tomcat來(lái)處理。 Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開(kāi)發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺(tái)、安全域管理和Tomcat閥等。由于Tomcat本身也內(nèi)含了一個(gè)HTTP服務(wù)器,它也可以被視作一個(gè)單獨(dú)的Web服務(wù)器。但是,不能將 Tomcat 和 Apache Web 服務(wù)器混淆,Apache Web Server 是一個(gè)用 C 語(yǔ)言實(shí)現(xiàn)的 HTTP web server;這兩個(gè) HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個(gè)配置管理工具,也可以通過(guò)編輯 XML 格式的配置文件來(lái)進(jìn)行配置。Apache,nginx,tomcat并稱為網(wǎng)頁(yè)服務(wù)三劍客,可見(jiàn)其應(yīng)用度之廣泛。

 

最流行的5大開(kāi)源web服務(wù)器

 

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)嵌在其它開(kāi)源Java應(yīng)用服務(wù)器中,如JBoss, Wildfly和Glassfish。

Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個(gè)虛擬主機(jī)。Apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開(kāi)銷,不太適合于多處理器環(huán)境,因此,在一個(gè)Apache Web站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務(wù)器,市場(chǎng)占有率達(dá)60%左右。世界上很多著名的Yahoo!、W3 Consortium、Financial Times等都是Apache的產(chǎn)物,它的成功之處主要在于它的源代碼開(kāi)放、有一支開(kāi)放的開(kāi)發(fā)隊(duì)伍、支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的Unix、 Windows、Linux系統(tǒng)平臺(tái)上)以及它的可移植性等方面。

Apache的誕生極富有戲劇性。當(dāng)NCSA WWW服務(wù)器項(xiàng)目停頓后,那些使用NCSA WWW服務(wù)器的人們開(kāi)始交換他們用于該服務(wù)器的補(bǔ)丁程序,他們也很快認(rèn)識(shí)到成立管理這些補(bǔ)丁程序的論壇是必要的。就這樣,誕生了Apache Group,后來(lái)這個(gè)團(tuán)體在NCSA的基礎(chǔ)上創(chuàng)建了Apache。如果你準(zhǔn)備選擇Web服務(wù)器,毫無(wú)疑問(wèn)Apache是你的最佳選擇。

Node.js

NNode.js是一個(gè)Javascript運(yùn)行環(huán)境(runtime environment),發(fā)布于2009年5月,由Ryan Dahl開(kāi)發(fā),實(shí)質(zhì)是對(duì)Chrome V8引擎進(jìn)行了封裝。Node.js對(duì)一些特殊用例進(jìn)行優(yōu)化,提供替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好。

V8引擎執(zhí)行Javascript的速度非常快,性能非常好。 [1] Node.js是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái), 用于方便地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。Node.js 使用事件驅(qū)動(dòng), 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設(shè)備上運(yùn)行數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用。

 

最流行的5大開(kāi)源web服務(wù)器

 

相比起其它流行的web服務(wù)器,Node.js的不同之處在于它是一個(gè)構(gòu)建網(wǎng)絡(luò)應(yīng)用的跨平臺(tái)運(yùn)行環(huán)境,擁有可勝任異步I/0的事件驅(qū)動(dòng)構(gòu)架。這些設(shè)計(jì)選擇能夠優(yōu)化應(yīng)用程序的數(shù)據(jù)吞吐量和可伸縮性,支持實(shí)時(shí)通信和網(wǎng)頁(yè)游戲。 Node.js 還強(qiáng)調(diào)了web開(kāi)發(fā)堆棧上的差異,Node.js清楚地顯示作為HTML、 CSS或者JavaScript堆棧的一部分,在這一點(diǎn)上與Apache或者NGINX同時(shí)作為多個(gè)不同軟件堆棧的一部分的理念正好是相反的。

Node.js是在混合授權(quán)協(xié)議下發(fā)布的,更多信息可以查看該項(xiàng)目網(wǎng)站。

在幾年的時(shí)間里,Node.JS逐漸發(fā)展成一個(gè)成熟的開(kāi)發(fā)平臺(tái),吸引了許多開(kāi)發(fā)者。有許多大型高流量網(wǎng)站都采用Node.JS進(jìn)行開(kāi)發(fā),此外,開(kāi)發(fā)人員還可以使用它來(lái)開(kāi)發(fā)一些快速移動(dòng)Web框架。

除了Web應(yīng)用外,NodeJS也被應(yīng)用在許多方面,NodeJS在其它方面所開(kāi)發(fā)的十大令人神奇的項(xiàng)目,這些項(xiàng)目涉及到應(yīng)用程序監(jiān)控、媒體流、遠(yuǎn)程控制、桌面和移動(dòng)應(yīng)用等等。

小貼士

如果你正在尋找一個(gè)流行的web服務(wù)器,我強(qiáng)烈建議你下載 LAMP(Linux, Apache, MySQL, PHP)或者LEMP(Linux, NGINX, MySQL, PHP)配套堆棧。此外,還可以根據(jù)根據(jù)你自己的不同喜好,更換搭配多種這樣的配套堆棧。這種配套堆棧通常都提供了一鍵安裝支持或者Linux上的軟件包管理器的安裝支持。

本文由網(wǎng)上采集發(fā)布,不代表我們立場(chǎng),轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/44753.html

聯(lián)系我們

在線咨詢:點(diǎn)擊這里給我發(fā)消息

微信號(hào):15705946153

工作日:9:30-18:30,節(jié)假日休息