作者:王念博客來源:https://my.oschina.net/wangnian/blog/2248637 一、web服務(wù)器(www服務(wù)器)(1)概念 Web服務(wù)器是一臺使用HTTP協(xié)議與客戶機(jī)瀏覽器進(jìn)行信息交流(因此又稱為HTTP服務(wù)器)、為互聯(lián)網(wǎng)客戶提供服務(wù)(信息瀏覽,下載資源等)的主機(jī)。發(fā)展趨勢:從HTML到XML、從有線到無線、從無聲到有聲 1.Linux是架設(shè)安全高效Web服務(wù)器的操作系統(tǒng) 架設(shè)Web服務(wù)器常見的操作系統(tǒng):Windows、Linux、Unix。Linux安全性能最高,可以支持多個硬件平臺,可以根據(jù)不同需求隨意修改、調(diào)整與復(fù)制各種程序的源碼以及發(fā)布在互聯(lián)網(wǎng)上,網(wǎng)絡(luò)功能比較強(qiáng)大。 2.目前主流服務(wù)器:Apache、 Nginx、 IIS Unix/Linux操作系統(tǒng)下使用最廣泛的免費HTTP服務(wù)器:Apache、Nginx。Windows(NT/2000/2003)操作系統(tǒng)使用ⅡS,綜合使用最多的Web服務(wù)器是 IIs、Apache。 選擇WEB服務(wù)器應(yīng)考慮的本身特性因素有:性能、安全性、日志和統(tǒng)計、虛擬主機(jī)、代理服務(wù)器、緩沖服務(wù)和集成應(yīng)用程序等。下面介紹目前最主流的三大web服務(wù)器: ① 大型 IIS: 微軟的Internet Information Services (IIS),IIS 允許在互聯(lián)網(wǎng)上發(fā)布信息,提供了一個圖形界面的管理工具,稱為Internet服務(wù)管理器,可用于監(jiān)視配置和控制Internet服務(wù)。IIS是一種Web服務(wù)組件,其中包括Web服務(wù)器(網(wǎng)頁瀏覽)、FTP服務(wù)器(文件傳輸)、NNTP服務(wù)器(新聞服務(wù))和SMTP服務(wù)器(郵件傳輸),使得在網(wǎng)絡(luò)上發(fā)布信息很容易。它提供ISAPI(Intranet Server API)作為擴(kuò)展Web服務(wù)器功能的編程接口,它還提供一個Internet數(shù)據(jù)庫連接器,可以實現(xiàn)對數(shù)據(jù)庫的查詢和更新。 Apache: Apache是世界上用的最多的Web服務(wù)器,源于NCSAhttpd服務(wù)器的補(bǔ)丁(pache 補(bǔ)?。?。它的成功之處主要在于:源代碼開放、有開放的開發(fā)隊伍、支持跨平臺的應(yīng)用(可以運行在幾乎所有的Unix、Windows、Linux系統(tǒng)平臺上)、可移植性。 ② 小型 nginx: nginx的模塊都是靜態(tài)編譯的,對fcgi的支持非常好,在處理鏈接的的方式上nginx支持epoll,支持通用語言接口(如:php、python、perl等),支持正向和反向代理、虛擬主機(jī)、url重寫、壓縮傳輸?shù)取?/p> (2)工作原理 當(dāng)客戶端Web瀏覽器連到服務(wù)器上并請求文件時,服務(wù)器將處理該請求并將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。Web服務(wù)器主要是處理向瀏覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問商業(yè)邏輯的途徑以供客戶端應(yīng)用程序使用。應(yīng)用程序服務(wù)器可以管理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務(wù)處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴(kuò)展(scalability)和容錯(fault tolerance)技術(shù)。Web服務(wù)器的工作原理一般可分成如下4個步驟: ① 連接過程:是Web服務(wù)器和其瀏覽器之間所建立起來的一種連接。查看連接過程是否實現(xiàn),用戶可以找到和打開socket這個虛擬文件,這個文件的建立意味著連接過程這一步驟已經(jīng)成功建立。 ② 請求過程:是Web的瀏覽器運用socket這個文件向其服務(wù)器而提出各種請求。 ③ 應(yīng)答過程:是運用HTTP協(xié)議把在請求過程中所提出來的請求傳輸?shù)絎eb的服務(wù)器,進(jìn)而實施任務(wù)處理,然后運用HTTP協(xié)議把任務(wù)處理的結(jié)果傳輸?shù)絎eb的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。 ④ 關(guān)閉連接:是當(dāng)上一個步驟--應(yīng)答過程完成以后,Web服務(wù)器和其瀏覽器之間斷開連接之過程。Web服務(wù)器上述4個步驟環(huán)環(huán)相扣、緊密相聯(lián),邏輯性比較強(qiáng),可以支持多個進(jìn)程、多個線程以及多個進(jìn)程與多個線程相混合的技術(shù)。 Web服務(wù)器可以解析HTTP協(xié)議。當(dāng)Web服務(wù)器接收到一個HTTP請求(request),會返回一個HTTP響應(yīng)(response)。為了處理一個request,Web服務(wù)器可以response一個靜態(tài)頁面(HTML頁面)或圖片,進(jìn)行頁面跳轉(zhuǎn)(redirect),或把動態(tài)響應(yīng)委托給服務(wù)器端。Web服務(wù)器的代理模型非常簡單。當(dāng)一個request被送到Web服務(wù)器里來時,它只單純的把request傳遞給可以很好的處理request的程序(服務(wù)器端腳本,如:CGI腳本,JSP腳本,servlets,ASP腳本,服務(wù)器端JavaScript等)。Web服務(wù)器僅僅提供一個可以執(zhí)行服務(wù)器端程序和返回(程序所產(chǎn)生的)響應(yīng)的環(huán)境,而不會超出職能范圍。服務(wù)器端程序功能通常有:事務(wù)處理、數(shù)據(jù)庫連接、和消息等。雖然Web服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫連接池,但它可以配置各種策略來實現(xiàn)容錯性、可擴(kuò)展性(如:負(fù)載平衡、緩沖)。集群特征經(jīng)常被誤認(rèn)為僅僅是應(yīng)用程序服務(wù)器專有的特征。 (3)配置 如何設(shè)置默認(rèn)文檔;在同一臺服務(wù)器上架設(shè)多個Web站點;(可以通過改變端口號)創(chuàng)建Web虛擬目錄; 1、了解DNS主機(jī)名和IP地址。 如果此WEB服務(wù)器在Internet上,需向ISP申請和注冊此服務(wù)器的DNS主機(jī)名和IP地址。如果此服務(wù)器只在企業(yè)網(wǎng)內(nèi)使用,則在內(nèi)部的DNS服務(wù)器上注冊。 2、打開服務(wù)器文檔,選擇'端口'-'Internet端口',啟用'TCP/ IP端口'。 3、選擇'Internet協(xié)議',完成以下選項后,保存文檔。 ① 綁定主機(jī)名: A、選擇'是'則您可在'主機(jī)名'項中輸入主機(jī)別名,WEB用戶可用此別名替代Domino服務(wù)器名訪問WEB服務(wù)器。 B、選擇'否'(缺?。﹦t不允許使用別名。 ② DNS查詢: 選擇'是'則Domino服務(wù)器查詢發(fā)送請求的WEB客戶機(jī)的DNS名。 ③ Domino日志文件和數(shù)據(jù)庫將包含WEB客戶機(jī)的DNS主機(jī)名: 選擇'否'(缺省)則不查詢,Domino日志文件和數(shù)據(jù)庫將只包含WEB客戶機(jī)的IP地址(注意:選擇'否'將提高Domino服務(wù)器性能,因為服務(wù)器不使用資源執(zhí)行DNS查詢) ④ '允許HTTP客戶瀏覽數(shù)據(jù)庫':選擇'是'則允許WEB用戶在URL中使用OpenServer命令來顯示服務(wù)器上數(shù)據(jù)庫列表。選擇'否'(缺?。﹦t不允許。但即使WEB用戶不能看到服務(wù)器上數(shù)據(jù)庫列表,他們?nèi)阅艽蜷_有權(quán)限訪問的單個數(shù)據(jù)庫。 4、啟動HTTP任務(wù)。在服務(wù)器控制臺上,輸入:loap http 二、Nginx小型項目 (1)概念 1、Nginx(俄羅斯程序設(shè)計師Igor Sysoev用C語言進(jìn)行編寫)是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3/SMTP)代理服務(wù)器。 2、特點:占有內(nèi)存少(在高連接并發(fā)的情況下,Nginx是Apache服務(wù)器不錯的替代品,能夠支持高達(dá) 50,000 個并發(fā)連接數(shù)的響應(yīng)),并發(fā)能力強(qiáng)。 3、中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。 4、Nginx代碼完全用C語言從頭寫成,已經(jīng)移植到許多體系結(jié)構(gòu)和操作系統(tǒng),包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。 5、Nginx有自己的函數(shù)庫,并且除了zlib、PCRE和OpenSSL之外,標(biāo)準(zhǔn)模塊只使用系統(tǒng)C庫函數(shù)。而且,如果不需要或者考慮到潛在的授權(quán)沖突,可以不使用這些第三方庫。 (2)安裝 官網(wǎng):http:/// 選擇要安裝的版本: (3)使用 打開conf/nginx.conf,修改端口號,和主頁根地址為:打包后index.html的目錄 模擬域名配置(本地域名設(shè)置): 在瀏覽器地址欄輸入配置好的“域名:端口號”回車: |
|