日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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)頁(yè)面緩存

配置Nginx緩存靜態(tài)資源以提高網(wǎng)站性能

目前創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、高坪網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

I. Nginx緩存概述

Nginx緩存機(jī)制簡(jiǎn)介:

Nginx緩存是一種在內(nèi)存或磁盤(pán)上存儲(chǔ)經(jīng)常訪問(wèn)的靜態(tài)資源,如圖片、CSS和JavaScript文件的技術(shù),當(dāng)客戶(hù)端請(qǐng)求這些資源時(shí),Nginx可以直接從緩存中提供它們,而不需要每次都從原始服務(wù)器獲取,從而顯著減少響應(yīng)時(shí)間并降低后端服務(wù)器的負(fù)載。

緩存對(duì)性能提升的作用:

通過(guò)緩存靜態(tài)資源,Nginx可以減少對(duì)后端服務(wù)器的請(qǐng)求次數(shù),這不僅降低了服務(wù)器的CPU和內(nèi)存使用,還減少了網(wǎng)絡(luò)帶寬的消耗,由于緩存的資源加載速度更快,用戶(hù)的體驗(yàn)也得到了提升,頁(yè)面加載時(shí)間縮短,跳出率降低,有助于提高網(wǎng)站的轉(zhuǎn)化率和用戶(hù)滿(mǎn)意度。

II. 配置Nginx緩存

安裝Nginx:

在大多數(shù)Linux發(fā)行版中,可以使用包管理器來(lái)安裝Nginx,在Ubuntu系統(tǒng)中,可以通過(guò)運(yùn)行以下命令來(lái)安裝最新版本的Nginx:

sudo apt update
sudo apt install nginx

安裝完成后,可以通過(guò)運(yùn)行systemctl status nginx來(lái)檢查Nginx服務(wù)的狀態(tài)。

開(kāi)啟緩存功能:

要開(kāi)啟Nginx的緩存功能,需要在Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/sitesavailable/default)中進(jìn)行設(shè)置,確保http塊中包含proxy_cache_path指令,用于定義緩存文件的存儲(chǔ)位置和大小。

http {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    ...
}

這里,/var/cache/nginx是緩存文件的存儲(chǔ)路徑,levels=1:2表示緩存目錄的層級(jí)結(jié)構(gòu),keys_zone=my_cache:10m定義了一個(gè)名為my_cache的緩存區(qū)域,初始大小為10MB,max_size=1g限制了緩存的最大大小為1GB,inactive=60m設(shè)置了緩存文件的過(guò)期時(shí)間為60分鐘,use_temp_path=off禁止使用臨時(shí)路徑存儲(chǔ)緩存文件。

接下來(lái),在server塊中,針對(duì)需要緩存的靜態(tài)資源設(shè)置location塊,并使用proxy_cache指令來(lái)啟用緩存。

server {
    listen 80;
    server_name example.com;
    location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
        proxy_cache my_cache;
        proxy_pass http://backend;
        ...
    }
    ...
}

這里,正則表達(dá)式~* .(jpg|jpeg|png|gif|ico|css|js)$匹配所有圖片和樣式表文件,proxy_cache my_cache指定使用之前定義的緩存區(qū)域my_cache,proxy_pass http://backend將請(qǐng)求代理到后端服務(wù)器。

完成以上配置后,保存文件并退出編輯器,重新加載Nginx配置以應(yīng)用更改:

sudo nginx t  # 檢查配置文件語(yǔ)法是否正確
sudo systemctl reload nginx  # 重新加載配置

現(xiàn)在,Nginx已經(jīng)配置好了緩存靜態(tài)資源的功能,為了驗(yàn)證緩存是否生效,可以使用瀏覽器訪問(wèn)網(wǎng)站并檢查開(kāi)發(fā)者工具中的網(wǎng)絡(luò)請(qǐng)求,如果看到從Nginx服務(wù)器直接返回的靜態(tài)資源響應(yīng),而不是來(lái)自后端服務(wù)器,那么緩存就成功了。

III. 緩存策略?xún)?yōu)化

設(shè)置合理的緩存時(shí)間:

合理的緩存時(shí)間對(duì)于平衡最新內(nèi)容與性能之間至關(guān)重要,如果緩存時(shí)間設(shè)置得太短,會(huì)導(dǎo)致緩存頻繁失效,增加后端服務(wù)器的負(fù)擔(dān);設(shè)置得太長(zhǎng),則用戶(hù)可能無(wú)法及時(shí)看到更新的內(nèi)容,一個(gè)常見(jiàn)的做法是為不同類(lèi)型的資源設(shè)置不同的緩存時(shí)間,可以設(shè)置圖片和樣式表文件的緩存時(shí)間為一周,而腳本文件則為一天:

location ~* .(jpg|jpeg|png|gif|ico)$ {
    expires 7d;
    ...
}
location ~* .(css)$ {
    expires 7d;
    ...
}
location ~* .(js)$ {
    expires 1d;
    ...
}

在這里,expires指令告訴瀏覽器資源的有效期,從而減少不必要的再次請(qǐng)求。

使用HTTP頭控制緩存:

除了設(shè)置expires之外,還可以使用CacheControlETag頭來(lái)進(jìn)一步控制緩存行為。CacheControl頭可以用來(lái)指定最大緩存時(shí)間,而ETag頭提供了資源的唯一標(biāo)識(shí)符,使得只有在資源發(fā)生變化時(shí)才會(huì)重新請(qǐng)求。

location ~* .(html)$ {
    add_header CacheControl "public, maxage=60";
    ...
}

這里,add_header指令添加了一個(gè)CacheControl頭,指示瀏覽器資源的緩存時(shí)間為60秒,結(jié)合ETag頭的使用,可以確保只有當(dāng)資源發(fā)生變更時(shí),瀏覽器才會(huì)重新請(qǐng)求該資源。

通過(guò)這些優(yōu)化策略,可以確保用戶(hù)既能獲得快速的網(wǎng)站響應(yīng),又能在必要時(shí)獲取到最新的內(nèi)容。


當(dāng)前題目:nginx靜態(tài)頁(yè)面緩存
文章位置:http://m.5511xx.com/article/dppchjh.html