共計 4018 個字符,預計需要花費 11 分鐘才能閱讀完成。
這篇文章主要講解了“五大開源的 Web 服務器是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“五大開源的 Web 服務器是什么”吧!
NGINX 服務器
Igor Sysoev 從 2002 年開始開發 NGINX,并在 2004 年發布了第一個公開版本。NGINX 的開發是為了解決 C10K(C10K 是如何處理 1 萬個并發連接的簡寫)問題,目前,全球有超過 30% 的網站在使用它。
Nginx 是一款輕量級的 Web 服務器 / 反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個 BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上 nginx 的并發能力確實在同類型的網頁服務器中表現較好,中國大陸使用 nginx 網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。
NGINX 依靠異步事件驅動架構來幫助其處理大量的并發會話,由于其對資源的輕量利用和伸縮自如的特性,它成為了廣受歡迎的 web 服務器。
NGINX 在類 BSD(Berkeley Software Distribution)許可協議的授權下發布的,它不僅可作為 web 服務器進行部署,也可作為代理服務器或負載平衡器。你可以在 NGINX 社區網站找到它的更多信息。
NGINX 的特點:
服務器
Nginx 作為負載均衡服務器:Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP 代理服務器對外進行服務。Nginx 采用 C 進行編寫,不論是系統資源開銷還是 CPU 使用效率都比 Perlbal 要好很多。
處理靜態文件,索引文件以及自動索引; 打開文件描述符緩沖。
無緩存的反向代理加速,簡單的負載均衡和容錯。
FastCGI,簡單的負載均衡和容錯。
模塊化的結構。包括 gzipping, byte ranges, chunked responses, 以及 SSI-filter 等 filter。如果由 FastCG 或其它代理服務器處理單頁中存在的多個 SSI,則這項處理可以并行運行,而不需要相互等待。
支持 SSL 和 TLSSNI。
代碼
Nginx 代碼完全用 C 語言從頭寫成,已經移植到許多體系結構和操作系統,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX 以及 Microsoft Windows。Nginx 有自己的函數庫,并且除了 zlib、PCRE 和 OpenSSL 之外,標準模塊只使用系統 C 庫函數。而且,如果不需要或者考慮到潛在的授權沖突,可以不使用這些第三方庫。
代理服務器
作為郵件代理服務器:Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作為郵件代理服務器),Last.fm 描述了成功并且美妙的使用經驗。
Nginx 是一個安裝非常的簡單、配置文件非常簡潔(還能夠支持 perl 語法)、Bug 非常少的服務器。Nginx 啟動特別容易,并且幾乎可以做到 7 *24 不間斷運行,即使運行數個月也不需要重新啟動。你還能夠不間斷服務的情況下進行軟件版本的升級。
Lighttpd 服務器
Lighttpd 是一個德國人領導的開源 Web 服務器軟件,其根本的目的是提供一個專門針對高性能網站,安全、快速、兼容性好并且靈活的 web server 環境。具有非常低的內存開銷、cpu 占用率低、效能好以及豐富的模塊等特點。
Lighttpd 以其低內存占用,低 CPU 負載和處理速度的優化而獨立于世,它使用事件驅動架構,對大量并行連接進行優化,支持 FastCGI, SCGI, Auth,Output-compression, URL-rewriting 等多種功能。Lighttpd 主要用于 Catalyst 和 Ruby on Rails 的 web 框架。通過項目主頁,你可以找到它的更多信息。
Apache
Apache HTTP Server 簡稱為 Apache。它誕生于 1995 年,并在 2015 年 2 月 20 日度過了其 20 歲的生日。全球超過 52% 的網站使用了 Apache,它是目前最流行的 web 服務器。
Apache, 中文名:阿帕奇,是 Apache 軟件基金會的一個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由于其多平臺和安全性被廣泛使用,是最流行的 Web 服務器端軟件之一。它快速、可靠并且可通過簡單的 API 擴展,將 Perl/Python 等解釋器編譯到服務器中。開發者 Apache 軟件基金會。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 只支持靜態網頁,但像 php,cgi,jsp 等動態網頁就需要 Tomcat 來處理。Tomcat 是由 Apache 軟件基金會下屬的 Jakarta 項目開發的一個 Servlet 容器,按照 Sun Microsystems 提供的技術規范,實現了對 Servlet 和 JavaServer Page(JSP)的支持,并提供了作為 Web 服務器的一些特有功能,如 Tomcat 管理和控制平臺、安全域管理和 Tomcat 閥等。由于 Tomcat 本身也內含了一個 HTTP 服務器,它也可以被視作一個單獨的 Web 服務器。但是,不能將 Tomcat 和 Apache Web 服務器混淆,Apache Web Server 是一個用 C 語言實現的 HTTP web server;這兩個 HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個配置管理工具,也可以通過編輯 XML 格式的配置文件來進行配置。Apache,nginx,tomcat 并稱為網頁服務三劍客,可見其應用度之廣泛。
Apache Tomcat 是在 Apache 許可證 2.0 版的授權下進行發布的,通常用于運行 Java 應用程序。此外,它能夠通過 Coyote 的擴展,扮演為本地文件 HTTP 文檔服務的普通服務器的角色。更多詳細的信息可以查看 Apache Tomcat 項目網站。
另外,Apache Tomcat 還經常內嵌在其它開源 Java 應用服務器中,如 JBoss, Wildfly 和 Glassfish。
Apache 有多種產品,可以支持 SSL 技術,支持多個虛擬主機。Apache 是以進程為基礎的結構,進程要比線程消耗更多的系統開銷,不太適合于多處理器環境,因此,在一個 Apache Web 站點擴容時,通常是增加服務器或擴充群集節點而不是增加處理器。到目前為止 Apache 仍然是世界上用的最多的 Web 服務器,市場占有率達 60% 左右。世界上很多著名的 Yahoo!、W3 Consortium、Financial Times 等都是 Apache 的產物,它的成功之處主要在于它的源代碼開放、有一支開放的開發隊伍、支持跨平臺的應用(可以運行在幾乎所有的 Unix、Windows、Linux 系統平臺上)以及它的可移植性等方面。
Apache 的誕生極富有戲劇性。當 NCSA WWW 服務器項目停頓后,那些使用 NCSA WWW 服務器的人們開始交換他們用于該服務器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了 Apache Group,后來這個團體在 NCSA 的基礎上創建了 Apache。如果你準備選擇 Web 服務器,毫無疑問 Apache 是你的最佳選擇。
Node.js
NNode.js 是一個 Javascript 運行環境 (runtime environment),發布于 2009 年 5 月,由 Ryan Dahl 開發,實質是對 Chrome V8 引擎進行了封裝。Node.js 對一些特殊用例進行優化,提供替代的 API,使得 V8 在非瀏覽器環境下運行得更好。
V8 引擎執行 Javascript 的速度非??欤阅芊浅:?。[1] Node.js 是一個基于 Chrome JavaScript 運行時建立的平臺,用于方便地搭建響應速度快、易于擴展的網絡應用。Node.js 使用事件驅動,非阻塞 I /O 模型而得以輕量和高效,非常適合在分布式設備上運行數據密集型的實時應用。
相比起其它流行的 web 服務器,Node.js 的不同之處在于它是一個構建網絡應用的跨平臺運行環境,擁有可勝任異步 I / 0 的事件驅動構架。這些設計選擇能夠優化應用程序的數據吞吐量和可伸縮性,支持實時通信和網頁游戲。 Node.js 還強調了 web 開發堆棧上的差異,Node.js 清楚地顯示作為 HTML、CSS 或者 JavaScript 堆棧的一部分,在這一點上與 Apache 或者 NGINX 同時作為多個不同軟件堆棧的一部分的理念正好是相反的。
Node.js 是在混合授權協議下發布的,更多信息可以查看該項目網站。
在幾年的時間里,Node.JS 逐漸發展成一個成熟的開發平臺,吸引了許多開發者。有許多大型高流量網站都采用 Node.JS 進行開發,此外,開發人員還可以使用它來開發一些快速移動 Web 框架。
除了 Web 應用外,NodeJS 也被應用在許多方面,NodeJS 在其它方面所開發的十大令人神奇的項目,這些項目涉及到應用程序監控、媒體流、遠程控制、桌面和移動應用等等。
感謝各位的閱讀,以上就是“五大開源的 Web 服務器是什么”的內容了,經過本文的學習后,相信大家對五大開源的 Web 服務器是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!