動態內容經過Ajax動態獲取,也保持內容一致。php
###2.nginx 配置css
vi /etc/nginx/nginx.conf #注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分區 proxy_temp_path /cache/proxy_temp_path; #設置Web緩存區名稱爲cache_one,內存緩存空間大小爲200MB,1天沒有被訪問的內容自動清除,硬盤緩存空間大小爲30GB。 proxy_cache_path /cach/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=5m max_size=30g;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html)$ { #若是後端的服務器返回50二、50四、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另外一臺服務器,實現故障轉移。 proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache cache_one; #進行緩存,使用Web緩存區cache_one proxy_cache_valid 200 304 5m; #對不一樣的HTTP狀態碼設置不一樣的緩存時間 proxy_cache_valid 301 302 1m; proxy_cache_valid any 1m; proxy_cache_key $host$uri$is_args$args; #以域名、URI、參數組合成Web緩存的Key值,Nginx根據Key值哈希,存儲緩存內容到二級緩存目錄內 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Accept-Encoding "none"; #設定proxy_set_header Accept-Encoding '';(或是後臺服務器關閉gzip),這樣這臺機器纔不會緩存被壓縮的文件,形成亂碼 #proxy_set_header Accept-Encoding ""; 這個也可 proxy_ignore_headers "Cache-Control" "Expires"; #這段配置加上後,proxy_cache就能支持後臺設定的expires。 if ( !-e $request_filename ) { proxy_pass http://emulsites; } expires 30m; } #php文件請求轉發給後端 location ~ .*\.(php|cgi)?$ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://emulsites; }
sudo service nginx reload
訪問頁面,查看緩存目錄是否生成緩存文件html