怎麼在nginx中設定快取靜態文件
1、準備事項
我想你需要一個正常工作的 nginx 軟體:在ubuntu 16.04 lts 上安裝 nginx,php 7 和 mysql 5.7 (lemp) 。
2 設定nginx
可以參考expires 指令手冊來設定http 頭部過期時間,這個標記可以放在 http {}
、server {}
、location {}
等語句區塊或 location {}
語句區塊中的條件語句中。一般會在location 語句區塊中用 expires
指令控制你的靜態文件,就像下面一樣:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; }
在上面的例子中,所有後綴名是 .jpg
、 .jpeg
、 .png
、 .gif
、 .ico
、 .css
與 .js
的檔案會在瀏覽器存取該檔案之後的365 天後過期。因此你要確保 location {}
語句區塊只包含能被瀏覽器快取的靜態檔案。
然後重新啟動nginx 進程:
/etc/init.d/nginx reload
你可以在 expires
指令中使用以下的時間設定:
off
讓expires
和cache-control
頭部不能改變。epoch
將expires
頭部設定為 1970 年 1 月 1 日 00:00:01。max
設定expires
頭部為2037 年12 月31 日23:59:59,設定cache-control
的最大存活時間為10 年沒有
@
前綴的時間表示這是與瀏覽器存取時間有關的過期時間。可以指定一個負值的時間,就會把 cache-control 頭部設定成 no-cache。例如:expires 10d
或expires 14w3d
。有
@
前綴的時間指定在一天中的某個時間過期,格式是hh 或hh:mm,h 的範圍是0 到24,m的範圍是0 到59,例如:expires @15:34
。
你可以用以下的時間單位:
ms
: 毫秒#s
: 秒m
: 分鐘h
: 小時d
: 天w
: 星期m
: 月(30 天)#y
: 年(365 天)
例如:1h30m
表示一小時三十分鐘,1y6m
表示一年六個月。
注意,如果你用一個在將來很久才會過期的頭部,當元件修改時你就要改變元件的檔案名稱。因此給文件指定版本是一個不錯的方法。例如,如果你有個 javascript.js 檔案 並且你要修改它,你可以在修改的檔案名稱後面加上一個版本號碼。這樣瀏覽器就要下載這個文件,如果你沒有更改文件名,瀏覽器將從快取裡面載入(舊的)文件。
除了把基於瀏覽器存取時間設定 expires
頭部(例如 expires 10d
)之外,也可以透過時間前面的 modified
關鍵字,將 expires
頭部的基準設為檔案修改的時間(請注意這僅對儲存在硬碟的實際檔案有效)。
expires modified 10d;
3 測試
要測試你的設定是否有效,可以用火狐瀏覽器的開發者工具中的網路分析功能,然後用火狐存取一個靜態檔案(例如一張圖片)。在輸出的頭部資訊裡,應該可以看到 expires
頭部和有 max-age
標記的 cache-control
頭部(max -age
標記包含了一個以秒為單位的值,例如31536000 是指今後的一年)
以上是怎麼在nginx中設定快取靜態文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

可以查詢 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打開 Nginx 錯誤頁,查看頁面的標題。

在雲服務器上配置 Nginx 域名的方法:創建 A 記錄,指向雲服務器的公共 IP 地址。在 Nginx 配置文件中添加虛擬主機塊,指定偵聽端口、域名和網站根目錄。重啟 Nginx 以應用更改。訪問域名測試配置。其他注意事項:安裝 SSL 證書啟用 HTTPS、確保防火牆允許 80 端口流量、等待 DNS 解析生效。

當 Nginx 服務器宕機時,可執行以下故障排除步驟:檢查 nginx 進程是否正在運行。查看錯誤日誌以獲取錯誤消息。檢查 nginx 配置語法正確性。確保 nginx 具有訪問文件所需的權限。檢查文件描述符打開限制。確認 nginx 正在偵聽正確的端口。添加防火牆規則以允許nginx流量。檢查反向代理設置,包括後端服務器可用性。如需進一步幫助,請聯繫技術支持。
