Nginx 是一個高性能的 HTTP 和反向代理服務器,它可以非常有效地處理靜態文件。以下是 Nginx 處理靜態文件的一些建議和配置:
靜態文件目錄:首先,確保你的靜態文件(如圖片、CSS、JavaScript 等)存放在一個合適的目錄中,例如 /var/www/static
。
配置 Nginx:編輯 Nginx 的配置文件(通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/your_domain
),并在 server
塊中添加以下配置:
location /static/ {
alias /var/www/static/;
expires 30d;
add_header Cache-Control "public";
}
這里,location /static/
塊定義了一個 URL 路徑,當用戶請求以 /static/
開頭的 URL 時,Nginx 會從 /var/www/static/
目錄中查找相應的文件。expires
指令設置了文件的緩存時間,add_header
指令添加了 HTTP 響應頭,以便瀏覽器可以緩存這些文件。
優化靜態文件傳輸:為了提高性能,可以使用以下方法優化靜態文件的傳輸:
http
塊中添加以下指令:gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
這將啟用 Gzip 壓縮,并設置壓縮級別、最小文件長度等參數。
listen
指令中添加 http2
參數,以啟用 HTTP/2 協議。HTTP/2 支持多路復用,可以顯著提高靜態文件的傳輸速度。重啟 Nginx:保存配置文件后,重啟 Nginx 以使更改生效:
sudo nginx -t # 檢查配置文件語法是否正確
sudo nginx -s reload # 重新加載配置文件
現在,Nginx 已經配置好處理靜態文件了。當用戶請求靜態文件時,Nginx 會從指定的目錄中查找文件,并根據配置進行緩存和壓縮。