web服務器 Nginx

作者:王念博客
來源:https://my.oschina.net/wangnian/blog/2248637

一、web服務器(www服務器)

(1)概念

Web服務器是一臺使用HTTP協議與客戶機瀏覽器進行信息交流(因此又稱為HTTP服務器)、為互聯網客戶提供服務(信息瀏覽,下載資源等)的主機。發展趨勢:從HTML到XML、從有線到無線、從無聲到有聲

1.Linux是架設安全高效Web服務器的操作系統

架設Web服務器常見的操作系統:Windows、Linux、Unix。Linux安全性能最高,可以支持多個硬件平臺,可以根據不同需求隨意修改、調整與複製各種程序的源碼以及發佈在互聯網上,網絡功能比較強大。

2.目前主流服務器:Apache、 Nginx、 IIS

Unix/Linux操作系統下使用最廣泛的免費HTTP服務器:Apache、Nginx。Windows(NT/2000/2003)操作系統使用ⅡS,綜合使用最多的Web服務器是 IIs、Apache。

選擇WEB服務器應考慮的本身特性因素有:性能、安全性、日誌和統計、虛擬主機、代理服務器、緩衝服務和集成應用程序等。下面介紹目前最主流的三大web服務器:

① 大型

IIS:

微軟的Internet Information Services (IIS),IIS 允許在互聯網上發佈信息,提供了一個圖形界面的管理工具,稱為Internet服務管理器,可用於監視配置和控制Internet服務。IIS是一種Web服務組件,其中包括Web服務器(網頁瀏覽)、FTP服務器(文件傳輸)、NNTP服務器(新聞服務)和SMTP服務器(郵件傳輸),使得在網絡上發佈信息很容易。它提供ISAPI(Intranet Server API)作為擴展Web服務器功能的編程接口,它還提供一個Internet數據庫連接器,可以實現對數據庫的查詢和更新。

Apache:

Apache是世界上用的最多的Web服務器,源於NCSAhttpd服務器的補丁(pache 補丁)。它的成功之處主要在於:源代碼開放、有開放的開發隊伍、支持跨平臺的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平臺上)、可移植性。

② 小型

nginx:

nginx的模塊都是靜態編譯的,對fcgi的支持非常好,在處理鏈接的的方式上nginx支持epoll,支持通用語言接口(如:php、python、perl等),支持正向和反向代理、虛擬主機、url重寫、壓縮傳輸等。

(2)工作原理

當客戶端Web瀏覽器連到服務器上並請求文件時,服務器將處理該請求並將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。Web服務器主要是處理向瀏覽器發送HTML以供瀏覽,而應用程序服務器提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序服務器可以管理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web服務器一樣,應用程序服務器配置了多種可擴展(scalability)和容錯(fault tolerance)技術。Web服務器的工作原理一般可分成如下4個步驟:

① 連接過程:是Web服務器和其瀏覽器之間所建立起來的一種連接。查看連接過程是否實現,用戶可以找到和打開socket這個虛擬文件,這個文件的建立意味著連接過程這一步驟已經成功建立。

② 請求過程:是Web的瀏覽器運用socket這個文件向其服務器而提出各種請求。

③ 應答過程:是運用HTTP協議把在請求過程中所提出來的請求傳輸到Web的服務器,進而實施任務處理,然後運用HTTP協議把任務處理的結果傳輸到Web的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。

④ 關閉連接:是當上一個步驟--應答過程完成以後,Web服務器和其瀏覽器之間斷開連接之過程。Web服務器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支持多個進程、多個線程以及多個進程與多個線程相混合的技術。

Web服務器可以解析HTTP協議。當Web服務器接收到一個HTTP請求(request),會返回一個HTTP響應(response)。為了處理一個request,Web服務器可以response一個靜態頁面(HTML頁面)或圖片,進行頁面跳轉(redirect),或把動態響應委託給服務器端。Web服務器的代理模型非常簡單。當一個request被送到Web服務器裡來時,它只單純的把request傳遞給可以很好的處理request的程序(服務器端腳本,如:CGI腳本,JSP腳本,servlets,ASP腳本,服務器端JavaScript等)。Web服務器僅僅提供一個可以執行服務器端程序和返回(程序所產生的)響應的環境,而不會超出職能範圍。服務器端程序功能通常有:事務處理、數據庫連接、和消息等。雖然Web服務器不支持事務處理或數據庫連接池,但它可以配置各種策略來實現容錯性、可擴展性(如:負載平衡、緩衝)。集群特徵經常被誤認為僅僅是應用程序服務器專有的特徵。

(3)配置

如何設置默認文檔;在同一臺服務器上架設多個Web站點;(可以通過改變端口號)創建Web虛擬目錄;

1、瞭解DNS主機名和IP地址。

如果此WEB服務器在Internet上,需向ISP申請和註冊此服務器的DNS主機名和IP地址。如果此服務器只在企業網內使用,則在內部的DNS服務器上註冊。

2、打開服務器文檔,選擇"端口"-"Internet端口",啟用"TCP/ IP端口"。

3、選擇"Internet協議",完成以下選項後,保存文檔。

① 綁定主機名:

A、選擇"是"則您可在"主機名"項中輸入主機別名,WEB用戶可用此別名替代Domino服務器名訪問WEB服務器。

B、選擇"否"(缺省)則不允許使用別名。

② DNS查詢: 選擇"是"則Domino服務器查詢發送請求的WEB客戶機的DNS名。

③ Domino日誌文件和數據庫將包含WEB客戶機的DNS主機名: 選擇"否"(缺省)則不查詢,Domino日誌文件和數據庫將只包含WEB客戶機的IP地址(注意:選擇"否"將提高Domino服務器性能,因為服務器不使用資源執行DNS查詢

④ "允許HTTP客戶瀏覽數據庫":選擇"是"則允許WEB用戶在URL中使用OpenServer命令來顯示服務器上數據庫列表。選擇"否"(缺省)則不允許。但即使WEB用戶不能看到服務器上數據庫列表,他們仍能打開有權限訪問的單個數據庫。

4、啟動HTTP任務。在服務器控制檯上,輸入:loap http

二、Nginx

小型項目

(1)概念

1、Nginx(俄羅斯程序設計師Igor Sysoev用C語言進行編寫)是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3/SMTP)代理服務器。

2、特點:佔有內存少(在高連接併發的情況下,Nginx是Apache服務器不錯的替代品,能夠支持高達 50,000 個併發連接數的響應),併發能力強。

3、中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。

4、Nginx代碼完全用C語言從頭寫成,已經移植到許多體系結構和操作系統,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。

5、Nginx有自己的函數庫,並且除了zlib、PCRE和OpenSSL之外,標準模塊只使用系統C庫函數。而且,如果不需要或者考慮到潛在的授權衝突,可以不使用這些第三方庫。

(2)安裝

官網:http://nginx.org/

web服務器 Nginx

選擇要安裝的版本:

web服務器 Nginx

(3)使用

打開conf/nginx.conf,修改端口號,和主頁根地址為:打包後index.html的目錄

web服務器 Nginx

模擬域名配置(本地域名設置):

web服務器 Nginx

在瀏覽器地址欄輸入配置好的“域名:端口號”回車:

web服務器 Nginx

{!-- PGC_COLUMN --}


分享到:


相關文章: