欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux輕量級 Web 服務器第1/2頁

 更新時間:2007年11月26日 15:03:15   作者:  

作為 Apache 和其他市場領頭產品的補充的專用 HTTP 應用程序

    <blockquote id="alo6n"></blockquote>
    1. <blockquote id="alo6n"><i id="alo6n"></i></blockquote>

         

          

        級別: 中級Cameron Laird (claird@phaseit.net), 副總裁, Phaseit, Inc.2007 年 7 月 23 日

        最 近幾年,市場上出現了很多有趣的 Web 服務器實現,包括 lighthttpd、litespeed 和 mongrel 等。這些 Web 服務器都宣稱結合了性能、易管理性、可移植性、安全性和其他相關價值。下面的工程研究將調查輕量級 Web 服務器,以幫助您選擇最可能滿足下一個項目的技術需求的 Web 服務器。

        “輕量級” Web 服務器,例如 lighthttpd、 litespeedmongrel,可以為項目帶來很多的好處。本文調查這種可能性,并展示這些 Web 服務器的適用性。

        一個 Web 服務器需要哪些東西?

        第一個重要的方面是清楚地理解所調查的領域(請參閱 參考資料,以了解更詳細的信息)。終端用戶在 Internet 上的基本動作就是 “進入一個 Web 頁面”。從大處講,這牽涉到兩個應用程序之間的協(xié)作:

        • 一個 Web 瀏覽器,例如 Firefox 或 Internet Explorer,用于請求一個特定的頁面,并且以人類可讀的方式顯示從另一個應用程序那里收到的內容。
        • 一個 Web 服務器,通常是在遠程機器上,負責對頁面請求作出響應,返回 HTML 編碼的或類似的數據流。

        所有 Web 用戶直接與瀏覽器交互,因此他們的選擇和分析相應地有些狂熱。而服務器只對站點的技術人員可見。根據 Netcraft 最近的調查,雖然存在很多不同的 Web 服務器,但是其中兩種 Web 服務器就占據了 90% 的份額,這兩種 Web 服務器是 Apache 和 Internet Information Server (IIS)。它們都是經過高度錘煉的產品,并且聲稱不僅具有廣泛的內在技術特性,而且有很多配套的書籍、增件、顧問、提供商等。那么,它們是否還有值得改 造的地方呢?

        答案是肯定的。評價一個 Web 服務器的重要指標有:

        • 性能:對請求作出響應的速度有多快?
        • 可伸縮性:當很多用戶同時訪問它時,服務器還能繼續(xù)可靠地運行嗎?
        • 安全性:服務器是否只執(zhí)行它應該執(zhí)行的操作。它在認證用戶和加密傳輸方面提供了怎樣的支持?它的使用是否使附近的應用程序或主機變得更易受攻擊?
        • 可靠性:服務器的失效模式和故障發(fā)生率如何?
        • 標準遵從性:服務器遵從相關的 RFC 嗎?
        • 靈活性:是否可以對服務器進行調優(yōu),以支持較重的請求負載、需要計算的動態(tài)頁面或者代價不菲的認證等等?
        • 平臺需求:該服務器可用于哪些平臺?它是否有特定的硬件需求?
        • 易管理性:服務器是否易于設置和維護?它是否與日志記錄、審計、成本計算等組織標準兼容?

        Apache 和 IIS 不能同時在那么多的標準方面做到最好。理論上講,顯然那些定向的產品至少能在以上的一至兩個方面超越市場領頭產品。

        關于輕量級 Web 服務器的一件有趣的、值得調查的事情是,它們之間的競爭遠遠不止是理論上的:仔細研究表明,它們有很多 東西可以提供,并且即使在很多常見的情況下,它們相對于 Apache 和 IIS 也堅持了自己的風格。雖然可以合理地認為市場領頭產品已經經過了小心的優(yōu)化,從而能夠有效地在性能(舉個例子)方面避免被擊敗,但是很多小型的競爭對手因 為只提供簡單的靜態(tài) Web 頁面服務,速度反而更快。當使用這些 Web 服務器運行測試時,您會感覺好像是在賽道上駕駛一輛 go-kart 小車,不知不覺竟然超過了 Porsche 和 Viper 車。這還不是全部:有時候,輕量級 Web 服務器可作為那些大哥級服務器的有效補充,而不只是與它們競爭。即使您知道自己將使用 Apache,有時候通過將它與一個輕量級伙伴搭檔,反而可以最大限度地利用它。最好的解決方案有時候需要兩個或更多 Web 服務器的協(xié)作。


        回頁首

        Web 服務的輕巧性

        本 調查中重點關注的 “輕巧性” 實際上是一種主觀質量,就像 “藝術” 或 “風格”。它通常意味著簡單、易于安裝、流線化、要求低和健壯 —— 比 Apache 和 IIS 更小、更簡單,當然,在試圖滿足大量市場的過程中,它們已經變得異常復雜。出于這個目的,雖然 Java Web Server、AOLserver 和 Zeus 擁有迷人的可移植性和性能優(yōu)勢,但是它們的復雜性和大小使其不得不被拒之門外。

        輕 量級 Web 服務器可以適用于市場領頭產品和其他 “重量級” 服務器無法勝任的情況。例如,整個服務器可以打包在一個文件中。這意味著開發(fā)人員可以方便地攜帶生產環(huán)境所需的所有工具。即使在生產服務器上運行的是 Apache,也仍然可以在賓館的房間里,借助只需數秒鐘就可以安裝完畢的輕量級 Web 服務器以嘗試新想法。而且,由于輕量級 Web 服務器要求很低,因此可以在那些無法負擔 IIS 的主機上順暢地運行。

        單文件打包

        單文件打包
        Apache 需要小心地安裝散布在多個目錄中的很多文件。與之截然不同的是,下面的 Web 服務器卻打包在一個可執(zhí)行文件中。我的一個雇主 Phaseit 的專長是部署和打包,我們能使 Apache 的安裝看上去比平常更簡單一些。但是即使我們做得最好,Apache 或 IIS 與輕量級 Web 服務器在 “空間占用” 方面也仍然有很大的差異:前者要占用大量的空間。

        小的、輕量級的 Web 服務器還可以在小功率的主機上良好地運行。在我們的公司(Phaseit —— 見 側欄) 中,我們在遠程的、條件欠佳或配置較低的環(huán)境中的工業(yè)計算機上運行專用的 硬件。在這些情況下,能夠通過一個對處理能力或磁盤空間要求很低的應用程序來提供 Web 頁面是一個很大的優(yōu)勢。這意味著我們的機器可以避免 Apache 的開發(fā)和處理能力所帶來的開銷,構建基于 Web 的管理控制臺。

        從某種程度上講,幾乎所有輕 量級 Web 服務器都是開放源碼的。如果我們需要某一款 Web 服務器所特有的行為,那么下面概述的一些 Web 服務器都非常小巧,易于理解,也易于增強,只有兩個例外。這些 Web 服務器為嵌入 Web 服務的項目提供極好的原始材料,不管這些 Web 服務是在特殊的硬件中,還是在為在通用計算機上運行而設計的特定應用程序中。它們還廣泛用于具有傳統(tǒng)外觀的 Web 站點:

        • YouTube 依靠 lighttpd 快速交付歸檔的內容,例如視頻;
        • cdServe 運行 “German Woodworking Machinery and Tools” CD;
        • LiteSpeed 宣揚它在 twitter、www.funnyoride.com、www.airliners.com、WordPress.com、 fanfiction.com、SlashGear、www.forumactif.com 和其他著名 Web 站點上擔任的角色;
        • OpenSUSE、RubyOnRails、MarkaBoo 和其他一些著名站點依賴于 Mongrel;
        • demon.net、bluelight.com、mtv.com、The Drudge Report、garfield.com 等站點則使用 thttpd;
        • 等等。

        下面的例子說明了開發(fā)人員使用輕量級服務器的輕巧性:在我們公司,我們采用專門的硬件提供辦公室電話解決方案。它基于定制的、以傳統(tǒng)的 Linux® 應用程序的形式運行的軟件。只需一個附加文件和一點 init.d 配置,很容易添加一個強大的 “Web 控制臺”,該 Web 控制臺能提供硬件和軟件的管理界面。 終端用戶可以從任何瀏覽器中監(jiān)視和配置他們的計算機,而不必安排專門的硬件連接或解決使用 “垂直” 硬件時常見的其他復雜性。

        面向服務架構(SOA)被認為難以使用。在我們的經驗中,SOA 至少有一部分這方面的缺點阻礙了 Web 服務的使用。我們利用輕量級 Web 服務來設置快速的 SOA,以進行演示。

        輕量級服務器甚至可以用于生產數據中心,包括前面列出的 high-profile 站點。性能非常高的站點會將操作分開,從而最大限度地利用緩存、代理等技術。例如,一個基于 Apache 的站點可能采用一種這樣的架構:通過小型的 Web 服務器從專用的文件系統(tǒng)提供緩慢變化的圖片。終端用戶看到的結果實際上是 Apache 和一個或多個輔助 Web 服務器通過協(xié)作得到的輸出,它們各自擔任自己擅長的角色。這樣的安排可以以非常低的計算成本提供非常 快的結果。


        回頁首

        手段和目的

        雖 然輕量級 Web 服務器有很多共同之處,但是各有各的不同。大多數輕量級 Web 服務器是用 C 編寫的,但是實踐證明,有些其他實現語言也可以成功地用于實現服務器,對此我已經做了實驗,這些語言包括 Erlang、Java、Lisp、Lua、Perl、Python 和 Tcl。如果其中有您喜歡的語言,那么也許可以找到適合您的 Web 服務器。

        由于很多特定的原因,您可能會將目光投向某種 “不常見” 的語言:

        • 教學:使用輕量級 Web 服務器來制定一個重要、但是并不太大的目標。這是獲得使用某種語言的經驗的好方法。
        • 雖然用 C 編寫的輕量級 Web 服務器大小為 10-50 KB,更高級的語言有 100 KB 到數 MB 的運行時,但整個 Web 服務器的源文件可能只占幾千個字節(jié)。這種 Web 服務器占用的空間很小,因此比 Apache 更易于與技術伙伴共享。
        • 更高級的語言可以使實驗更吸引人 —— 例如,添加一個新的 HTTP/1.1 特性可能只需幾行源代碼。這些輕量級服務器是非常方便的實驗材料。
        • 將 HTTP 服務器添加到已有的、用高級語言編寫的應用程序中只需增加幾行源代碼。

        Athana 可以作為這些主題的例子。它是用 Python 編寫的 Web 服務器。它支持 HTTP 多部分(上傳)、會話、 cookie 等。從 0.2.1 版開始,Athana 一直被編寫在一個單獨的、精心組織的源文件中。

        如前所述,不同的輕量級 Web 服務器有著不同的優(yōu)點,它們或多或少獨立于編程語言。所有輕量級 Web 服務器都比 Apache 更小、更易于配置。與 Apache 相比,有些輕量級 Web 服務器更快,有些則快得多。有些則強調安全性、重負載下的從容性、可擴展性或者內存占有量。在任何情況下,都可以以一種不適用于 Apache 的方式徹底地理解這些服務器。

        哪些特定的產品使這些可能性成為現實?即使只留意 “輕量級” 服務器,面對的也是一個很大的難于管理的產品集合。不過可以將它們按子類來劃分:超輕型、關注安全型、支持特定語言型等等。

        相關文章

        • Apache中Virtual Host虛擬主機配置及rewrite參數說明

          Apache中Virtual Host虛擬主機配置及rewrite參數說明

          這篇文章主要介紹了Apache中Virtual Host虛擬主機配置及rewrite模塊中的重要參數說明,是在同一個Apache服務器軟件上部署多個站點的基礎方法,需要的朋友可以參考下
          2016-03-03
        • Linux如何運行SQL文件

          Linux如何運行SQL文件

          這篇文章主要介紹了Linux如何運行SQL文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
          2023-12-12
        • linux防火墻配置教程之訪問外網web實驗(3)

          linux防火墻配置教程之訪問外網web實驗(3)

          這篇文章主要為大家詳細介紹了linux防火墻配置教程之訪問外網web的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
          2017-04-04
        • CentOS平臺實現搭建rsync遠程同步服務器的方法

          CentOS平臺實現搭建rsync遠程同步服務器的方法

          這篇文章主要介紹了CentOS平臺實現搭建rsync遠程同步服務器的方法,較為詳細的分析了CentOS搭建rsync遠程同步服務器的具體步驟、相關命令與注意事項,需要的朋友可以參考下
          2018-04-04
        • 使用Linux要改掉幾個的命令習慣

          使用Linux要改掉幾個的命令習慣

          現在越來越多的人用linux系統(tǒng),本文分享的這些習慣也許會令你事半功倍,找到其中的樂趣。剛開始使用Linux時你也許會感到不習慣,許多高手也都有這樣的經歷。畢竟,曾經他們也都是新手。好的習慣可以提高工作效率以及命令的運行效率,下面來一起看看吧。
          2016-11-11
        • Linux下Apache服務的部署和配置

          Linux下Apache服務的部署和配置

          這篇文章介紹了Linux下Apache服務的部署和配置,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
          2021-12-12
        • Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境

          Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境

          這篇文章主要介紹了Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
          2017-02-02
        • centos更改時區(qū)的方法

          centos更改時區(qū)的方法

          centos默認使用UTC時區(qū),中國用戶需要修改成自己的時區(qū),這篇文章主要介紹了centos更改時區(qū)的方法,需要的朋友可以參考下
          2014-03-03
        • Linux調整命令歷史方法詳解

          Linux調整命令歷史方法詳解

          這篇文章主要介紹了Linux調整命令歷史方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
          2020-09-09
        • 一篇文章弄懂Linux磁盤和磁盤分區(qū)

          一篇文章弄懂Linux磁盤和磁盤分區(qū)

          分區(qū)是將一個硬盤驅動器分成若干個邏輯驅動器,分區(qū)是把硬盤連續(xù)的區(qū)塊當做一個獨立的磁硬使用。下面這篇文章主要給大家介紹了關于Linux磁盤和磁盤分區(qū)的相關資料,需要的朋友可以參考下
          2018-12-12

        最新評論