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