日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Nginx搭建靜態(tài)資源服務(wù)器

前期準(zhǔn)備

準(zhǔn)備一個(gè)web靜態(tài)資源(我用的是之前學(xué)習(xí)的webgl的例子),先來(lái)看看怎么配置nginx:

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了清河免費(fèi)建站歡迎大家使用!

首先配置listen指令,監(jiān)聽(tīng)8000端口。接著配置一個(gè)location指令塊,/表示所有請(qǐng)求,然后配置/后的路由與請(qǐng)求目錄下的路徑要一致,這時(shí)有兩種使用方法,alias是其中一種。

listen:請(qǐng)求進(jìn)入nginx前,首先需要監(jiān)聽(tīng)端口使得nginx與客戶端建立一個(gè)tcp鏈接。listen指令就是用來(lái)監(jiān)聽(tīng)端口的,處于server指令塊內(nèi)的。通過(guò)監(jiān)聽(tīng)的端口與地址就能判斷使用哪些server去處理請(qǐng)求。

listen指令值主要分為三種類(lèi)型:

  • address[:port]-監(jiān)聽(tīng)一個(gè)地址或者加相應(yīng)的端口。比如listen 127.0.0.1:8000
  • port-監(jiān)聽(tīng)一個(gè)端口。比如listen 8000
  • unix:path-監(jiān)聽(tīng)一個(gè)unix socket地址,只用于本機(jī)通訊。比如unix:/var/run/nginx.sock

然后使用命令重載nginxnginx -s reload,這時(shí)訪問(wèn)localhost:8000就能看到效果了 root與alias:這兩個(gè)指令主要功能都是將url映射為文件路徑,以返回靜態(tài)文件內(nèi)容。主要的差別在于:

root有一個(gè)默認(rèn)值html,可以出現(xiàn)在http、server和location指令塊內(nèi),并且會(huì)將完整的url映射進(jìn)文件路徑中 alias沒(méi)有默認(rèn)值,只能出現(xiàn)在location指令塊中,并且只會(huì)將location后的url映射到文件路徑 舉例說(shuō)明:

location?/root?{
????root?html
}

location?/alias?{
????alias?html
}

當(dāng)訪問(wèn)localhost/root/時(shí),根據(jù)配置的指令值,會(huì)在html后加上/root再去訪問(wèn)index.html。所以實(shí)際訪問(wèn)的路由地址為localhost/html/root/index.html。這是因?yàn)閞oot會(huì)將完整的url映射進(jìn)文件路徑中。

而訪問(wèn)localhost/alias/時(shí),訪問(wèn)的路由地址為localhost/html/index.html。

使用gzip壓縮來(lái)減少網(wǎng)絡(luò)傳輸

當(dāng)訪問(wèn)的資源很大時(shí),往往會(huì)消耗大量的寬帶,也增加加載時(shí)間。nginx可以設(shè)置靜態(tài)資源的壓縮功能。

gzip?on
#表示打開(kāi)gzip功能開(kāi)關(guān)
gzip_min_length?1
#表示gzip最小壓縮字節(jié)大小,如果一個(gè)文件很小,在一個(gè)tcp報(bào)文就能發(fā)送出來(lái),這時(shí)再進(jìn)行壓縮效果不太,卻又消耗cpu。(我這是為了演示才設(shè)置為1)
gzip_comp_level?2
#表示壓縮級(jí)別
gzip_types
#表示只對(duì)列出來(lái)的類(lèi)型進(jìn)行壓縮

壓縮后只有830kb,而且在響應(yīng)頭中也能看出使用了gzip壓縮

使用autoindex

使用autoindex可以將一個(gè)目錄信息分享給用戶,用戶根據(jù)自己需求打開(kāi)對(duì)應(yīng)目錄。

在文檔中介紹到,當(dāng)訪問(wèn)/結(jié)尾的url時(shí),會(huì)對(duì)應(yīng)到這個(gè)目錄并展示這個(gè)目錄的結(jié)構(gòu)。使用方法就是把a(bǔ)utoindex置為on 訪問(wèn)css/這個(gè)文件夾時(shí):

這里需要提出一點(diǎn)的是,會(huì)有一些情況:開(kāi)啟了autoindex后,還是不會(huì)返回目錄結(jié)構(gòu)。可能是因?yàn)榕渲胕ndex指令,index指令優(yōu)先級(jí)會(huì)大于autoindex指令。具體如下:

index:當(dāng)訪問(wèn)/時(shí)會(huì)返回index指令的文件內(nèi)容。index file,默認(rèn)值是index.html,可以出現(xiàn)在http、server和location指令塊中。

autoindex:當(dāng)url以/結(jié)尾時(shí),嘗試以html/xml/json等格式返回root/alias中指向目錄的目錄結(jié)構(gòu)

限制訪問(wèn)速度

因?yàn)楣W(wǎng)帶寬是有限的,當(dāng)有許多用戶同時(shí)訪問(wèn)時(shí),他們是一個(gè)增強(qiáng)關(guān)系。這時(shí)可能需要用戶訪問(wèn)一些大文件時(shí)限制訪問(wèn)速度,以確保能有足夠的帶寬使得其他用戶能夠訪問(wèn)一些例如css,js等基礎(chǔ)文件。這時(shí)可以設(shè)置set的命令配合一些內(nèi)置變量來(lái)實(shí)現(xiàn)這一個(gè)功能。比如說(shuō)

set?$limit_rate?1k;

限制服務(wù)器向?yàn)g覽器發(fā)送響應(yīng)的速度。$limit_rate這個(gè)變量可以在官網(wǎng)的ngx_http_core_module模塊中的Embedded Variables中

用法就是變量后面加上一個(gè)以空間為單位的數(shù)字,表示每秒傳輸多少字節(jié)。加上限制之后,會(huì)發(fā)現(xiàn)訪問(wèn)速度有變化。

記錄access日志

日志要顯示什么內(nèi)容,就要看要設(shè)置什么樣的格式。使用log_format指令定義日志的格式。

log_format格式允許設(shè)置一個(gè)名字,這就可以對(duì)不同用途時(shí)記錄不同格式的日志文件。如圖所示,設(shè)置為名為main的日志格式。這個(gè)格式使用了很多內(nèi)置變量:

$remote_addr:表示遠(yuǎn)端的ip地址,也就是瀏覽器的ip地址
$remote_user:表示用戶名提供基本身份驗(yàn)證
$time_local:表示訪問(wèn)時(shí)間
$request:完整的原始請(qǐng)求行
$status:表示響應(yīng)狀態(tài)
$body_bytes_sent:發(fā)送給客戶端的body字節(jié)數(shù)
$http_referer:表示從哪跳轉(zhuǎn)過(guò)來(lái)
$http_user_agent:用戶瀏覽器的類(lèi)別,版本以及操作系統(tǒng)的一些信息
$http_x_forwarded_for:客戶端請(qǐng)求頭中的"X-Forwarded-For"

設(shè)置完log_format之后,就要去設(shè)置日志記錄的地方。使用access_log指令。

access_log所在哪個(gè)server塊中,就表示這類(lèi)請(qǐng)求的日志都記錄在access_log設(shè)置的地方;

server?{
????...
????access_log?logs/access.log?main;
}?

表示將這個(gè)server的請(qǐng)求記錄在logs的access.log文件中,采用main的記錄格式

以上就是通使用Nginx來(lái)搭建一個(gè)靜態(tài)WEB資源服務(wù)器的全過(guò)程,非常簡(jiǎn)單,但是,非常實(shí)用。


網(wǎng)站名稱(chēng):Nginx搭建靜態(tài)資源服務(wù)器
URL分享:http://www.dlmjj.cn/article/dpoddcg.html