網站上線後,有些變化很少的靜態資源,如:css、圖片、font、js等,可以設置客戶端緩存時間,以減少http請求,提高網站運行效率。我們可以利用nginx緩存服務器的靜態資源,達到優化站點目的。
可以使用Nginx的proxy_cache將用戶的請求緩存到一個本地目錄下,當下次請求時可以直接讀取緩存文件,達到減少服務器請求次數的目的。
配置如下
打開nignx.conf配置文件,在http節點加入如下配置:
proxy_connect_timeout 10; proxy_read_timeout 180; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_temp_path /tmp/site_cache; proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=1g;
相關說明:
設置臨時目錄:proxy_temp_path /tmp/site_cache;
設置緩存目錄:proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=1g;
levels設置目錄層次,keys_zone設置緩存名字和共享內存大小,inactive在指定時間內沒人訪問則被刪除在這裏是1天,max_size最大緩存空間。
在server節點設置要緩存文件的後綴,配置如下:
location ~ .*\.(gif|jpg|png|css|js|eot|svg|ttf|woff|otf)(.*) { proxy_pass http://127.0.0.1:3000; proxy_redirect off; proxy_set_header Host $host; proxy_cache cache_one; proxy_cache_valid 200 302 24h; proxy_cache_valid 301 30d; proxy_cache_valid any 5m; expires 30d; }
相關說明:
非緩存頁面跳轉對應站點:proxy_pass http://127.0.0.1:3000;
設置緩存共享內存:proxy_cache cache_one;
設置http狀態碼爲200,302緩存時間,24h爲24小時:proxy_cache_valid 200 302 24h;
設置失期時間爲30天:expires 30d
原文來自:http://itbilu.com/linux/management/NyftMat.html