国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
web服務(wù)器 IIS、Apache和Ngnix基礎(chǔ)

導(dǎo)語:人往高處走,水往低處流。技術(shù)發(fā)展往高層堆疊,技術(shù)學(xué)習(xí)則往底層深處探索。

參考文章:

1、 百度百科:

IIS:https://baike.baidu.com/item/iis/19755079

Apache:https://baike.baidu.com/item/Apache/6265

Nginx:https://baike.baidu.com/item/nginx

2、 博客:https://www.cnblogs.com/vipyoumay/archive/2017/08/31/7455431.html

3、 菜鳥教程:https://www.runoob.com/w3cnote/nginx-setup-intro.html

一、各種web服務(wù)器定義及區(qū)別聯(lián)系

1.1、為什么要了解web服務(wù)器?

學(xué)習(xí)是具有主觀能動(dòng)性的一種行為(學(xué)習(xí)是需要目的的),為什么要學(xué)習(xí)并了解web服務(wù)器呢?在之前的文章中,我已經(jīng)能在自己的電腦上開發(fā)出簡單的web網(wǎng)站了,但是網(wǎng)站具體是怎么在電腦上運(yùn)行的,卻不得而知,如果要把網(wǎng)站發(fā)布給其它的網(wǎng)友看又該怎么辦呢?這篇文章就是為了嘗試回答這些問題的。

鏈接文章:

a、php基礎(chǔ)知識(shí)

b、web客戶端編程基礎(chǔ)-HTML、CSS

c、web客戶端編程基礎(chǔ)-JavaScript

d、數(shù)據(jù)庫基礎(chǔ)筆記-SQL

e、 web網(wǎng)站開發(fā)基礎(chǔ)

1.2、web服務(wù)器

來源:

1989年,互聯(lián)網(wǎng)之父Berners-Lee向其雇主CERN提出了一個(gè)新項(xiàng)目,目的是通過使用超文本系統(tǒng)來緩解科學(xué)家之間的信息交流。該項(xiàng)目導(dǎo)致Berners-Lee在1990年編寫了兩個(gè)方案:

a、一個(gè)名為WorldWideWeb的瀏覽器。

b、世界上第一個(gè)網(wǎng)絡(luò)服務(wù)器,后來被稱為CERN httpd,它運(yùn)行在NeXTSTEP上。在1991年至1994年期間,用于通過萬維網(wǎng)沖浪和交換數(shù)據(jù)的早期技術(shù)的簡單性和有效性有助于將其移植到許多不同的操作系統(tǒng),并將其用于科學(xué)組織和大學(xué),然后傳播到行業(yè)。

1994年,Berners-Lee決定組建萬維網(wǎng)聯(lián)盟(W3C),通過標(biāo)準(zhǔn)化過程來管理涉及的許多技術(shù)(HTTP,HTML等)的進(jìn)一步發(fā)展。

功能定義:

Web服務(wù)器的主要功能是存儲(chǔ),處理和傳遞網(wǎng)頁給客戶??蛻舳撕头?wù)器之間的通信使用超文本傳輸??協(xié)議(HTTP)進(jìn)行。交付的頁面最常見的是HTML文檔,除了文本內(nèi)容之外,還可能包含圖像,樣式表和腳本。

一個(gè)用戶代理,通常是web瀏覽器或web爬蟲,通過發(fā)起一個(gè)HTTP請(qǐng)求以獲取服務(wù)器資源,服務(wù)器根據(jù)請(qǐng)求返回該資源或由于某種原因響應(yīng)錯(cuò)誤消息。

雖然主要功能是提供內(nèi)容,但HTTP的完整實(shí)現(xiàn)還包括從客戶端接收內(nèi)容的方式。此功能用于提交Web表單,包括上傳文件。許多通用Web服務(wù)器還支持使用Active Server Pages(ASP),PHP或其他腳本語言的服務(wù)器端腳本。這意味著Web服務(wù)器的行為可以在單獨(dú)的文件中腳本化,而實(shí)際的服務(wù)器軟件保持不變。通常,此函數(shù)用于動(dòng)態(tài)生成HTML文檔(“即時(shí)”),而不是返回靜態(tài)文檔。前者主要用于從數(shù)據(jù)庫檢索或修改信息。后者通??斓枚啵⑶腋菀妆痪彺?,但不能提供動(dòng)態(tài)內(nèi)容。

Web服務(wù)器不僅用于為萬維網(wǎng)服務(wù)。它們也可以被嵌入到諸如打印機(jī),路由器,網(wǎng)絡(luò)攝像機(jī)等設(shè)備中,并且僅服務(wù)于本地網(wǎng)絡(luò)。然后,web服務(wù)器可以用作用于監(jiān)視或管理所討論的設(shè)備的系統(tǒng)的一部分。這通常意味著客戶端計(jì)算機(jī)上不需要安裝其他軟件,因?yàn)橹恍枰粋€(gè)網(wǎng)絡(luò)瀏覽器(現(xiàn)在大多數(shù)操作系統(tǒng)都包含在內(nèi))。

web服務(wù)器工作原理:

HTTP協(xié)議基于TCP協(xié)議上,是一個(gè)應(yīng)用層協(xié)議,用于用戶代理和Web服務(wù)器進(jìn)行通信。Web服務(wù)器通常采用一問一答的方式進(jìn)行工作。

主流web服務(wù)器:Apache、IIS、Nginx

1.3、應(yīng)用服務(wù)器

在Web服務(wù)器發(fā)展的同一個(gè)時(shí)期,應(yīng)用服務(wù)器已經(jīng)存在并發(fā)展很長一段時(shí)間了。一些公司為Unix開發(fā)了Tuxedo(面向事務(wù)的中間件)、TopEnd、Encina等產(chǎn)品,這些產(chǎn)品都是從類似IMS和CICS的主機(jī)應(yīng)用管理和監(jiān)控環(huán)境衍生而來的。大部分的這些產(chǎn)品都指定了“封閉的”產(chǎn)品專用通信協(xié)議來互連胖客戶機(jī)(“fat” client)和服務(wù)器。在90年代,這些傳統(tǒng)的應(yīng)用服務(wù)器產(chǎn)品開始嵌入HTTP通信功能,剛開始要利用網(wǎng)關(guān)來實(shí)現(xiàn)。不久后它們之間的界線開始變得模糊了。

同時(shí),web服務(wù)器越來越成熟,可以處理更高的負(fù)載、更多的并發(fā)和擁有更好的特性;應(yīng)用服務(wù)器開始添加越來越多的基于HTTP的通信功能。所有的這些導(dǎo)致了web服務(wù)器與應(yīng)用服務(wù)器的界線變得更窄了。

目前,“應(yīng)用服務(wù)器”和“web服務(wù)器”之間的界線已經(jīng)變得模糊不清了。但是人們還把這兩個(gè)術(shù)語區(qū)分開來,作為強(qiáng)調(diào)使用。

當(dāng)有人說到“web服務(wù)器”時(shí),你通常要把它認(rèn)為是以HTTP為核心、web UI為向?qū)У膽?yīng)用。當(dāng)有人說到“應(yīng)用服務(wù)器”時(shí),你可能想到“高負(fù)載、企業(yè)級(jí)特性、事務(wù)和隊(duì)列、多通道通信(HTTP和更多的協(xié)議)”。但現(xiàn)在提供這些需求的基本上都是同一個(gè)產(chǎn)品。

1.4、web應(yīng)用程序容器

那么什么是容器呢?

容器是位于應(yīng)用程序/組件和服務(wù)器平臺(tái)之間的接口集合,使得應(yīng)用程序/組件可以方便部署到服務(wù)器上運(yùn)行。

Web服務(wù)器的出現(xiàn)的標(biāo)志著WWW時(shí)代的帶來,世界變得更加平面化。當(dāng)初嘗到甜頭的開創(chuàng)者們開始不滿足與在互聯(lián)網(wǎng)上獲取靜態(tài)資源,于是出現(xiàn)了CGI腳本來動(dòng)態(tài)獲取資源。再后來網(wǎng)絡(luò)發(fā)展方向也是朝著增強(qiáng)Web服務(wù)器動(dòng)態(tài)獲取資源的能力前進(jìn)。代表性的動(dòng)態(tài)技術(shù):CGI(Common Gateway Interface,公用網(wǎng)關(guān)接口)、PHP、JSP、ASP

1.5、反向代理服務(wù)器

反向代理是代理服務(wù)器的一種。它根據(jù)客戶端的請(qǐng)求,從后端的服務(wù)器(如Web服務(wù)器)上獲取資源,然后再將這些資源返回給客戶端。與前向代理不同,前向代理作為一個(gè)媒介將互聯(lián)網(wǎng)上獲取的資源返回給相關(guān)聯(lián)的客戶端,而反向代理是在服務(wù)器端(如Web服務(wù)器)作為代理使用,而不是客戶端。客戶端通過前向代理可以訪問很多不同的資源,而反向代理是很多客戶端都通過它訪問不同后端服務(wù)器上的資源,而不需要知道這些后端服務(wù)器的存在,而以為所有資源都來自于這個(gè)反向代理服務(wù)器。

1.6、小結(jié)

Web服務(wù)器是提供WWW服務(wù)的程序;Web容器是提供給開發(fā)者的框架;Web應(yīng)用程序服務(wù)器內(nèi)容豐富得多,既可用各廠商通常遵循一定的工業(yè)標(biāo)準(zhǔn)并自定義擴(kuò)展功能而成,也可以利用開源組件輕量級(jí)拼裝打造;反向代理服務(wù)器在企業(yè)級(jí)應(yīng)用中表現(xiàn)突出,具有解決集中式安全,負(fù)載均衡等等優(yōu)點(diǎn)。

二、IIS 及其簡單應(yīng)用

2.1、定義及優(yōu)劣

IIS(Internet Information Services) 是一個(gè)支持HTTP和FTP發(fā)布服務(wù)的Web服務(wù)器。它是由微軟開發(fā)的web服務(wù)器,需要收費(fèi),主要用來跑asp.net asp php,只能在windows下運(yùn)行。

在穩(wěn)定性上來說,IIS在實(shí)際使用中經(jīng)常出現(xiàn)500錯(cuò)誤,而且有時(shí)候會(huì)出現(xiàn)莫名其妙的假死現(xiàn)象,用戶需要不定期的重新啟動(dòng)IIS服務(wù)才能保證網(wǎng)站的正常。安全性來說,IIS6以前的版本有安全隱患,之后的版本已經(jīng)優(yōu)化。因?yàn)镮IS是Windows系統(tǒng)的一部分,所以并不開源,但是這好處是對(duì)熟悉windows的用戶來說,配置和開啟操作簡單。

2.2、IIS 7.0 的開啟操作

首先,操作系統(tǒng)是windows

Vista開啟IIS 7.0

在Vista中,我們可以看得到新版本的IIS 7.0看上去比6.0有了很大的改進(jìn)。你可以自由開啟IIS 7.0,并在個(gè)人電腦上架設(shè)自己的網(wǎng)站。

下面是開啟方法:

1、熱鍵WinKey R—輸入'cmd.exe' (不帶引號(hào))。

2、輸入下列命令:

start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServerFeature;IIS-FTPServerFeature

然后,就會(huì)自動(dòng)安裝IIS 7.0。而且,IIS 7.0已經(jīng)完全組件化,類似于Apache。

Win7開啟IIS 7.0

默認(rèn)情況下,windows7安裝時(shí)是不會(huì)自動(dòng)安裝iis,只能手動(dòng)安裝,需要有安裝盤。

安裝方法:

開始-控制面板-程序-打開或關(guān)閉windows功能-internet信息服務(wù)-Web管理工具

如下圖所示:

2.3、IIS 網(wǎng)站的配置

1、打開IIS管理器,如下圖所示:

2、新增網(wǎng)站:鼠標(biāo)右擊“網(wǎng)站”這個(gè)文件夾>>點(diǎn)擊“添加網(wǎng)站”,出現(xiàn)如下彈窗:

網(wǎng)站名稱:這個(gè)自定義,是為區(qū)分不同網(wǎng)站使用。

物理路徑:網(wǎng)站代碼的位置,html代碼等

綁定:分配IP和端口、解析指定的域名,如果要綁定多個(gè)域名,可以在后面“編輯”中操作

3、填寫無誤后,點(diǎn)擊確定,“網(wǎng)站”文件夾下就出現(xiàn)新增的網(wǎng)站了,如下圖所示:

左側(cè)列表是IIS服務(wù)器目前所有的網(wǎng)站列表

中間項(xiàng)目是針對(duì)某個(gè)網(wǎng)站所提供的服務(wù)和設(shè)置

右側(cè)列表是這個(gè)網(wǎng)站的操作:

瀏覽:打開網(wǎng)站代碼的根目錄

編輯權(quán)限:設(shè)置網(wǎng)站代碼對(duì)外的權(quán)限

綁定:IP及端口、域名綁定的設(shè)置,新增的彈窗只能設(shè)置一個(gè)域名,這里就可以設(shè)置多個(gè)

基本設(shè)置:修改網(wǎng)站名稱、代碼路徑地址

管理網(wǎng)站:對(duì)網(wǎng)站服務(wù)器的重新啟動(dòng)、啟動(dòng)、停止、刪除等操作

瀏覽網(wǎng)站:這里就可以點(diǎn)擊查看網(wǎng)站代碼運(yùn)行的對(duì)外實(shí)際效果

高級(jí)設(shè)置:略

限制:寬帶等限制

就這么點(diǎn)點(diǎn)點(diǎn),IIS就能很快很簡單地把網(wǎng)站部署好了。若中間遇到了什么不可描述的問題~~就自行g(shù)oogle吧。

2.4、IIS 網(wǎng)站的路由尋址配置

很多框架或者網(wǎng)站代碼,是需要在web服務(wù)器上配置路由尋址的。IIS的也不是很麻煩:

1、首先,得自己寫好 .htaccess 文件(一般框架都有自帶的),例如:

```

Options FollowSymLinksRewriteRule ^(\w{2})/diy/com/ep365/assets/images/left/tab/(. ).png$ /diy/com/ep365/assets/images/left/tab/$2.png [L]RewriteRule ^(\w{2})/diy/fontimage/(. ).png$ /diy/fontimage/$2.png [L]IndexIgnore */*RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule .  index.php

```

2、IIS導(dǎo)入規(guī)則,雙擊”URL重寫”>>點(diǎn)擊“導(dǎo)入規(guī)則”>>選擇.htaccess文件,確定生成如下圖所示:

三、Apache及其簡單配置

3.1、apache定義

Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)充,將Perl/Python等解釋器編譯到服務(wù)器中。同時(shí)Apache音譯為阿帕奇,是北美印第安人的一個(gè)部落,叫阿帕奇族,在美國的西南部。也是一個(gè)基金會(huì)的名稱、一種武裝直升機(jī)等等。

Apache HTTP Server(簡稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中。Apache源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界上最流行的Web服務(wù)器軟件之一。

3.2、Apache Web服務(wù)器軟件特性

1.支持最新的HTTP/1.1通信協(xié)議

2.擁有簡單而強(qiáng)有力的基于文件的配置過程

3.支持通用網(wǎng)關(guān)接口

4.支持基于IP和基于域名的虛擬主機(jī)

5.支持多種方式的HTTP認(rèn)證

6.集成Perl處理模塊

7.集成代理服務(wù)器模塊

8.支持實(shí)時(shí)監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志

9.支持服務(wù)器端包含指令(SSI)

10.支持安全Socket層(SSL)

11.提供用戶會(huì)話過程的跟蹤

12.支持FastCGI

13.通過第三方模塊可以支持JavaServlets

3.3、apache配置及優(yōu)化

“我們?cè)谑褂肁pache作為web服務(wù)器的過程中,只有對(duì)Apache服務(wù)器進(jìn)行適當(dāng)?shù)膬?yōu)化配置,才能讓Apache發(fā)揮出更好的性能;再反過來說,如果Apache的配置非常糟糕,Apache可能無法正常為我們服務(wù)。因此,針對(duì)我們的應(yīng)用需求對(duì)Apache服務(wù)器的配置進(jìn)行一定的優(yōu)化是必不可少的?!?--百度百科

目前apache和nginx好像還沒有看到像IIS一樣的可視化配置。在windows和linux上,apache和nginx 都是以編輯配置文件的形式來配置。

1、目錄結(jié)構(gòu)詳解

一般情況下,apache安裝好后,其目錄結(jié)構(gòu)大致如圖(linux也差不多):

conf #主要存放了配置文件httpd.conf

logs #日志文件存放的目錄

bin #執(zhí)行文件存放的目錄,比如:(ab 常用壓測工具),(apachectl 控制apache啟動(dòng)的,實(shí)際調(diào)用的httpd),(apxs apache擴(kuò)展編譯的工具),(htpasswd 為網(wǎng)站設(shè)置用戶名密碼),(httpd apache的控制命令程序),(rotatelogs apache的日志輪詢工具)等

cgi-bin #CGI處理程序的存放目錄

manual #一些幫助及說明文檔

modules #apache加載的module文件存放目錄(缺省配置)

可能還有這么幾個(gè)目錄:

conf.d #里面存放的是一些額外的參數(shù)文檔,比如php.conf,可以自定義設(shè)置一定配置參數(shù)放置到該目錄

vhost #虛擬主機(jī)配置文件存放的目錄,這個(gè)也是自定義的—phpstudy則直接把配置放到conf/vhost.conf 這個(gè)文件里,效果是一樣的。

run #PID文件存放的目錄(可以自行更改)

htdocs #apache網(wǎng)站程序文件存放目錄(可以自定義)

2、httpd.conf 主配置文件詳解

```

ServerRoot 'D:/phpStudy/PHPTutorial/Apache'         // apache安裝目錄Listen 80                                         //監(jiān)聽端口# Example:# LoadModule foo_module modules/mod_foo.so         //拓展加載<IfModule unixd_module>                     User daemon                            //apache運(yùn)行用戶Group daemon                         //apache運(yùn)行組</IfModule> ServerAdmin admin@php.cn                  //管理員郵箱ServerName localhost                             //管理地址-本地根目錄地址DocumentRoot 'D:\phpStudy\PHPTutorial\WWW'     //根目錄 <Directory />                                                              //根目錄配置   Options  Indexes  FollowSymLinks  ExecCGI   AllowOverride All   Order allow,deny   Allow from all   Require all granted</Directory> <IfModule dir_module>   DirectoryIndex index.html index.php index.htm l.php           //站點(diǎn)目錄首頁文件</IfModule><Files '.ht*'>                                   //防止WEB用戶查看以.ht開頭的隱藏文件   Require all denied</Files>ErrorLog 'logs/error_log'                        //錯(cuò)誤日志LogLevel error                                 //錯(cuò)誤日志等級(jí)<IfModule log_config_module>       //錯(cuò)誤日志配置   LogFormat '%h %l %u %t \'%r\' %>s %b \'%{Referer}i\' \'%{User-Agent}i\'' combined   LogFormat '%h %l %u %t \'%r\' %>s %b' common   <IfModule logio_module>     LogFormat '%h %l %u %t \'%r\' %>s %b \'%{Referer}i\' \'%{User-Agent}i\' %I %O' combinedio   </IfModule></IfModule><IfModule alias_module>                //別名設(shè)置   #ScriptAlias /cgi-bin/ 'H:/adsdv01/php/Apache/cgi-bin/'   //CGI別名設(shè)置</IfModule><IfModule cgid_module></IfModule><IfModule mime_module>   TypesConfig conf/mime.types   AddType application/x-compress .Z   AddType application/x-gzip .gz .tgz</IfModule>Include conf/extra/httpd-mpm.conf                      //引入文件Include conf/extra/httpd-php.conf                        Include conf/vhosts.conf                                //****引入vhosts虛擬機(jī)配置文件SSLSessionCache       'shmcb:logs/ssl_scache(512000)'SSLSessionCacheTimeout 300<IfModule ssl_module>                          //ssl證書配置SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule><IfModule setenvif_module>BrowserMatch 'MSIE 10.0;' bad_DNT</IfModule><IfModule headers_module>RequestHeader unset DNT env=bad_DNT</IfModule>

```

3、vhosts.conf 虛擬機(jī)配置文件詳解

先直接上配置:

```

<VirtualHost _default_:80>                                   默認(rèn)localhost根目錄,監(jiān)聽80端口DocumentRoot 'D:\phpStudy\PHPTutorial\WWW' <Directory 'D:\phpStudy\PHPTutorial\WWW'>   Options -Indexes FollowSymLinks ExecCGI   AllowOverride All   Order allow,deny   Allow from all   Require all granted </Directory></VirtualHost> <VirtualHost *:80>   DocumentRoot 'D:\phpStudy\PHPTutorial\WWW\網(wǎng)站代碼根目錄'   ServerName www.域名.com   ServerAlias 服務(wù)別名 <Directory 'D:\phpStudy\PHPTutorial\WWW\網(wǎng)站代碼根目錄'>     Options FollowSymLinks ExecCGI     AllowOverride All     Order allow,deny     Allow from all    Require all granted </Directory></VirtualHost>

```

VirtualHost: 表示基于名稱的虛擬主機(jī) *:80表示監(jiān)聽本機(jī)所有IP的80端口上提供HTTP服務(wù),*可以設(shè)置為具體IP

DocumentRoot: 網(wǎng)站代碼目錄

ServerName: 解析的域名地址

< Directory ></ Directory> 配置目錄權(quán)限

AllowOverride:禁止用戶對(duì)目錄配置文件.htaccess修改,一般為none

DirectoryIndex: 站點(diǎn)目錄首頁文件多個(gè)文件用空格隔開

Order和Allow: IP限制

Options:主要作用是控制特定目錄將啟用哪些服務(wù)器特性,參數(shù)有:All、None、FollowSymLinks、Indexes、MultiViews、SymLinksIfOwnerMatch、ExecCGI、Includes、IncludesNOEXEC。參數(shù)說明如下圖:

四、Nginx 及其簡單配置

4.1、Nginx定義

Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點(diǎn)設(shè)計(jì)開發(fā)的。從2004年發(fā)布至今,憑借開源的力量,已經(jīng)接近成熟與完善。

Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴(kuò)展。

目前apache和nginx好像還沒有看到像IIS一樣的可視化配置。在windows和linux上,apache和nginx 都是以編輯配置文件的形式來配置。

4.2、nginx功能

1、反向代理

正向代理:某些情況下,代理我們用戶去訪問服務(wù)器,需要用戶手動(dòng)的設(shè)置代理服務(wù)器的ip和端口號(hào)。

反向代理:是用來代理服務(wù)器的,代理我們要訪問的目標(biāo)服務(wù)器。代理服務(wù)器接受請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)的服務(wù)器(集群化),并將從服務(wù)器上得到的結(jié)果返回給客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。

2、負(fù)載均衡

多在高并發(fā)情況下需要使用。其原理就是將數(shù)據(jù)流量分?jǐn)偟蕉鄠€(gè)服務(wù)器執(zhí)行,減輕每臺(tái)服務(wù)器的壓力,多臺(tái)服務(wù)器(集群)共同完成工作任務(wù),從而提高了數(shù)據(jù)的吞吐量。

3、動(dòng)靜分離

Nginx提供的動(dòng)靜分離是指把動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求分離開,合適的服務(wù)器處理相應(yīng)的請(qǐng)求,使整個(gè)服務(wù)器系統(tǒng)的性能、效率更高。

4.3、nginx配置及其優(yōu)化

1、 目錄結(jié)構(gòu)

相對(duì)而言,nginx的目錄結(jié)構(gòu)比較簡單、松散。在

conf:文件夾包含了nginx的所有配置文件,在nginx安裝目錄下

log: 包含nginx的訪問日志和錯(cuò)誤日志,可在配置中自定義

html: 網(wǎng)站根目錄地址,可在配置中自定義

sbin: nginx命令的目錄

proxy_temp,scgi_temp,uwsgi_temp,臨時(shí)目錄

2、nginx.conf 主配置文件詳解

```

user nginx nginx;       #定義Nginx運(yùn)行的用戶和用戶組worker_processes 1;    #nginx進(jìn)程數(shù),建議設(shè)置為等于CPU總核心數(shù)。events{use epoll;       #參考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; worker_connections 65535;  #單個(gè)進(jìn)程最大連接數(shù)(最大連接數(shù)=連接數(shù)*進(jìn)程數(shù))error_log /var/log/nginx/error.log info; #全局錯(cuò)誤日志定義類型,[ debug | info | notice | warn | error | crit ]pid /var/run/nginx.pid;     #進(jìn)程文件worker_rlimit_nofile 1024;       #一個(gè)nginx進(jìn)程打開的最多文件描述符數(shù)目,理論值應(yīng)該是最多打開文件數(shù)(系統(tǒng)的值ulimit -n)與nginx進(jìn)程數(shù)相除,但是nginx分配請(qǐng)求并不均勻,所以#建議與ulimit -n的值保持一致 http {                     #HTTP區(qū)塊開始   include      mime.types;#Nginx支持的媒體類型庫文件   default_type application/octet-stream;   #默認(rèn)的媒體類型   sendfile       on; #開啟高效傳輸模式   keepalive_timeout 65; #連接超時(shí)   server {         #第一個(gè)Server區(qū)塊開始,表示一個(gè)獨(dú)立的虛擬主機(jī)站點(diǎn)       listen      80;    #提供服務(wù)的端口,默認(rèn)80       server_name localhost;   #提供服務(wù)的域名主機(jī)名       location / {          #第一個(gè)location區(qū)塊開始           root  html;  #站點(diǎn)的根目錄,相當(dāng)于Nginx的安裝目錄           index index.html index.htm;#默認(rèn)的首頁文件,多個(gè)用空格分開       }       error_page  504 /50x.html;#出現(xiàn)對(duì)應(yīng)的http狀態(tài)碼時(shí),使用50x.html回應(yīng)客戶       location = /50x.html { #location區(qū)塊開始,訪問50x.html           root  html; #指定對(duì)應(yīng)的站點(diǎn)目錄為html       }	}	include vhosts.conf;           #虛擬機(jī)配置引用}

```

3、vhosts.conf 虛擬機(jī)配置文件詳解

```

serverlisten 80;    #監(jiān)聽端口server_name localhost;    #提供服務(wù)的域名主機(jī)名  index index.php index.html;                                              #站點(diǎn)目錄首頁文件root   'D:/phpStudy/PHPTutorial/WWW/網(wǎng)站代碼';         #網(wǎng)站代碼根目錄#   ssl                 on;             #ssl服務(wù)開啟#   ssl_certificate     cert.pem;         #ssl證書#   ssl_certificate_key cert.key;           #ssl 證書keylocation / { #第一個(gè)location區(qū)塊開始root html; #站點(diǎn)的根目錄,相當(dāng)于Nginx的安裝目錄index index.html index.htm index.jsp;     #默認(rèn)的首頁文件,多個(gè)用空格分開} #第一個(gè)location區(qū)塊結(jié)果  #charset utf-8; #默認(rèn)編碼server_names_hash_bucket_size 128; #服務(wù)器名字的hash表大小client_header_buffer_size 32k;    #上傳文件大小限制large_client_header_buffers 4 64k;    #設(shè)定請(qǐng)求緩client_max_body_size 8m;       #設(shè)定請(qǐng)求緩sendfile on; #開啟高效文件傳輸模式,sendfile指令指定nginx是否調(diào)用sendfile函數(shù)來輸出文件,對(duì)于普通應(yīng)用設(shè)為 on,如果用來進(jìn)行下載等應(yīng)用磁盤IO重負(fù)載應(yīng)用,可設(shè)置為o #ff,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的負(fù)載。注意:如果圖片顯示不正常把這個(gè)改成off。autoindex on;    #開啟目錄列表訪問,合適下載服務(wù)器,默認(rèn)關(guān)閉。tcp_nopush on; #防止網(wǎng)絡(luò)阻塞tcp_nodelay on; #防止網(wǎng)絡(luò)阻塞keepalive_timeout 120;    #連接超時(shí),單位是秒 #FastCGI相關(guān)參數(shù)是為了改善網(wǎng)站的性能:減少資源占用,提高訪問速度。fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k#gzip模塊設(shè)置gzip on;      #開啟gzip壓縮輸出gzip_min_length 1k;    #最小壓縮文件大小gzip_buffers 4 16k;     #壓縮緩沖區(qū)gzip_http_version 1.0;    #壓縮版本(默認(rèn)1.1,前端如果是squid2.5請(qǐng)使用1.0)gzip_comp_level 2;      #壓縮等級(jí)gzip_types text/x-javascript text/css application/xml; #壓縮類型,默認(rèn)就已經(jīng)包含text/html,所以下面就不用再寫了,寫上去也不會(huì)有問題,但是會(huì)有一個(gè)warn。gzip_vary on;#limit_zone crawler $binary_remote_addr 10m; #開啟限制IP連接數(shù)的時(shí)候需要使用 #圖片緩存時(shí)間設(shè)置location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 10d;} #JS和CSS緩存時(shí)間設(shè)置location ~ .*\.(js|css)?${expires 1h;} #日志格式設(shè)定log_format access '$remote_addr - $remote_user [$time_local] '$request' ''$status $body_bytes_sent '$http_referer' '''$http_user_agent' $http_x_forwarded_for'access_log /var/log/nginx/access_$(data %F -d -1day).log access; #定義本虛擬主機(jī)的訪問日志 location / {  #對(duì) '/' 啟用反向代理proxy_pass http://127.0.0.1:88;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr; #后端的Web服務(wù)器可以通過X-Forwarded-For獲取用戶真實(shí)IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for#以下是一些反向代理的配置,可選proxy_set_header Host $host;client_max_body_size 10m; #允許客戶端請(qǐng)求的最大單文件字節(jié)數(shù)client_body_buffer_size 128k#緩沖區(qū)代理緩沖用戶端請(qǐng)求的最大字節(jié)數(shù),proxy_connect_timeout 90; #nginx跟后端服務(wù)器連接超時(shí)時(shí)間(代理連接超時(shí))proxy_send_timeout 90;   #后端服務(wù)器數(shù)據(jù)回傳時(shí)間(代理發(fā)送超時(shí))proxy_read_timeout 90; #連接成功后,后端服務(wù)器響應(yīng)時(shí)間(代理接收超時(shí))proxy_buffer_size 4k;   #設(shè)置代理服務(wù)器(nginx)保存用戶頭信息的緩沖區(qū)大小proxy_buffers 4 32k;  #proxy_buffers緩沖區(qū),網(wǎng)頁平均在32k以下的設(shè)置proxy_busy_buffers_size 64k; #高負(fù)荷下緩沖大小(proxy_buffers*2)proxy_temp_file_write_size 64k; #設(shè)定緩存文件夾大小,大于這個(gè)值,將從upstream服務(wù)器傳#設(shè)定查看Nginx狀態(tài)的地址location /NginxStatus {stub_status on;access_log on;auth_basic 'NginxStatus';auth_basic_user_file conf/htpasswd;    #htpasswd文件的內(nèi)容可以用apache提供的htpasswd工具來產(chǎn)生。 } #本地動(dòng)靜分離反向代理配置#所有jsp的頁面均交由tomcat或resin處理location ~ .(jsp|jspx|do)?$ {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:8080;}  #所有靜態(tài)文件由nginx直接讀取不經(jīng)過tomcat或resinlocation ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)${ expires 15d; }location ~ .*.(js|css)?${ expires 1h; }}}

```

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Web服務(wù)器史上最詳細(xì)介紹 網(wǎng)絡(luò)信息交流全都靠他
Servlet容器(Web容器)是什么
web服務(wù)器 Nginx
Web服務(wù)器?Apache VS Nginx
使用Apache&花生殼架設(shè)Web服務(wù)器
Web服務(wù)器有哪些是比較常見的?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服