溫馨提示×

Nginx如何優化靜態資源

小樊
49
2025-05-16 08:13:33
欄目: 編程語言

Nginx 是一個高性能的 HTTP 和反向代理服務器,它可以用來優化靜態資源的傳輸。以下是一些建議和技巧,可以幫助你優化 Nginx 上的靜態資源:

  1. 啟用 Gzip 壓縮:Gzip 可以減小傳輸文件的大小,從而減少傳輸時間。在 Nginx 配置文件中啟用 Gzip 壓縮:
http {
    gzip on;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_proxied any;
    gzip_vary on;

    gzip_types
        application/atom+xml
        application/javascript
        application/json
        application/ld+json
        application/manifest+json
        application/rss+xml
        application/vnd.geo+json
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/opentype
        image/bmp
        image/svg+xml
        image/x-icon
        text/cache-manifest
        text/css
        text/plain
        text/vcard
        text/vnd.rim.location.xloc
        text/vtt
        text/x-component;
}
  1. 使用 Cache-Control:通過設置 Cache-Control 頭部,可以控制瀏覽器緩存靜態資源的時間。在 Nginx 配置文件中設置 Cache-Control:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public";
}
  1. 啟用瀏覽器緩存:通過設置 ETag 和 Last-Modified 頭部,可以讓瀏覽器緩存靜態資源。在 Nginx 配置文件中啟用瀏覽器緩存:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    etag on;
    if_modified_since exact;
}
  1. 使用 sendfile:sendfile 可以減少文件描述符的使用,提高靜態文件的傳輸性能。在 Nginx 配置文件中啟用 sendfile:
http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
}
  1. 使用 keepalive:keepalive 可以減少 TCP 連接的建立和關閉次數,提高靜態文件的傳輸性能。在 Nginx 配置文件中啟用 keepalive:
http {
    keepalive_requests 100;
}
  1. 使用 CDN:將靜態資源部署到 CDN(內容分發網絡)上,可以讓用戶從離他們最近的服務器獲取資源,從而減少延遲和提高加載速度。

  2. 減少重定向:盡量避免不必要的重定向,因為重定向會增加額外的 HTTP 請求,從而影響性能。

  3. 合并和壓縮 CSS 和 JavaScript 文件:將多個 CSS 或 JavaScript 文件合并成一個文件,可以減少 HTTP 請求的數量。同時,可以使用工具(如 UglifyJS 或 Clean-CSS)壓縮這些文件,以減小文件大小。

  4. 使用 HTTP/2:HTTP/2 支持多路復用,可以在一個 TCP 連接上同時傳輸多個資源,從而減少連接建立和關閉的開銷。在 Nginx 配置文件中啟用 HTTP/2:

server {
    listen 443 ssl http2;
    ...
}

通過實施這些優化措施,你可以顯著提高 Nginx 上靜態資源的傳輸性能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女