Nginx為靜態(tài)資源配置緩存時(shí)間的操作步驟
引言
最近在優(yōu)化網(wǎng)站性能時(shí),發(fā)現(xiàn)很多靜態(tài)資源(比如圖片、CSS 文件等)每次都會(huì)從服務(wù)器重新加載,這不僅浪費(fèi)了帶寬,還增加了 服務(wù)器的負(fù)載。為了解決這個(gè)問題,我研究了一下如何在 Nginx 中為靜態(tài)資源配置緩存時(shí)間,讓客戶端能更高效地利用緩存,從而提升訪問速度。下面是我的配置過程,分享給有需要的小伙伴。
1. 配置網(wǎng)頁緩存時(shí)間
目的
為靜態(tài)資源(如圖片、CSS 文件等)設(shè)置緩存時(shí)間,減少重復(fù)請(qǐng)求,提高訪問速度。
操作步驟
- 編輯 Nginx 主配置文件:
cd /usr/local/nginx/conf/ vim nginx.conf
- 在
http
塊中添加以下內(nèi)容:
http { ... location / { root html; index index.html index.htm; } location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ { root html; expires 1d; # 設(shè)置緩存時(shí)間為一天 } ... }
- 測(cè)試配置文件語法是否正確:
nginx -t
預(yù)期輸出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 重啟 Nginx 服務(wù):
systemctl restart nginx
測(cè)試步驟
使用 curl
命令帶上 -I
參數(shù),查看靜態(tài)資源的響應(yīng)頭。例如:
再次運(yùn)行相同的 curl
命令,檢查是否返回相同的緩存參數(shù)。如果配置正確,瀏覽器或客戶端將在緩存有效期內(nèi)直接使用緩存數(shù)據(jù),而不會(huì)重復(fù)請(qǐng)求服務(wù)器。
[root@localhost ~]# curl -i 127.0.0.1 HTTP/1.1 200 OK Server: nginx Date: Fri, 20 Dec 2024 06:59:17 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Fri, 20 Dec 2024 06:43:28 GMT Connection: keep-alive ETag: "67651210-264" Expires: Sat, 21 Dec 2024 06:59:17 GMT Cache-Control: max-age=86400 Accept-Ranges: bytes Cache-Control: max-age=86400 Expires: <具體的日期時(shí)間>
說明:
max-age=86400
表示緩存時(shí)間為 86400 秒(即 1 天)。- 客戶端將在緩存有效期內(nèi)直接使用緩存數(shù)據(jù),而不會(huì)重復(fù)請(qǐng)求服務(wù)器。
總結(jié)
通過為靜態(tài)資源設(shè)置緩存時(shí)間,服務(wù)器的壓力得到了有效緩解,客戶端也能更快地加載網(wǎng)頁,用戶體驗(yàn)自然也就提升了。這種配置簡單易行,卻能帶來顯著的效果。如果你也在優(yōu)化網(wǎng)站性能,不妨試試這個(gè)方法。
到此這篇關(guān)于Nginx為靜態(tài)資源配置緩存時(shí)間的操作步驟的文章就介紹到這了,更多相關(guān)Nginx靜態(tài)資源配置緩存時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx修復(fù)CORS漏洞的實(shí)現(xiàn)方法
本文主要介紹了CORS不安全配置漏洞的修復(fù)方法,通過修改Nginx配置,將Access-Control-Allow-Origin設(shè)置為正確的域名,以防止跨域資源共享時(shí)的隱私泄露風(fēng)險(xiǎn)2024-11-11nginx?rewrite?用法如何使用rewrite去除URL中的特定參數(shù)
日常服務(wù)中經(jīng)常會(huì)用Nginx做一層代理轉(zhuǎn)發(fā),把Nginx當(dāng)做前置機(jī),這篇文章主要介紹了nginx?rewrite?用法如何使用rewrite去除URL中的特定參數(shù),需要的朋友可以參考下2024-02-02開啟Nginx時(shí)端口被占用提示:Address already in use
這篇文章主要介紹了開啟Nginx時(shí)端口被占用提示:Address already in use的解決方法,文中通過兩種方法給大家介紹了Nginx的啟動(dòng)、停止與重啟 的操作方法 ,需要的朋友可以參考下2018-09-09nginx 作為反向代理實(shí)現(xiàn)負(fù)載均衡的例子
以下我們就來舉例說明如何使用 nginx 實(shí)現(xiàn)負(fù)載均衡。因?yàn)閚ginx在處理并發(fā)方面的優(yōu)勢(shì),現(xiàn)在這個(gè)應(yīng)用非常常見。2010-12-12Nginx代理proxy pass配置去除前綴的實(shí)現(xiàn)
這篇文章主要介紹了Nginx代理proxy pass配置去除前綴的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10