溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx+PHP的緩存詳細分析

發(fā)布時間:2021-09-01 13:40:21 來源:億速云 閱讀:144 作者:chen 欄目:建站服務器

本篇內容介紹了“Nginx+PHP的緩存詳細分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

以下是對Nginx中的PHP緩存進行了詳細的分析介紹,需要的朋友可以參考下
Nginx緩存
nginx有兩種緩存機制:fastcgi_cache和proxy_cache
下面我們來說說這兩種緩存機制的區(qū)別吧
proxy_cache作用是緩存后端服務器的內容,可能是任何內容,包括靜態(tài)的和動態(tài)的
fastcgi_cache作用是緩存fastcgi生成的內容,很多情況是php生成的動態(tài)內容
proxy_cache緩存減少了nginx與后端通信的次數(shù),節(jié)省了傳輸時間和后端帶寬
fastcgi_cache緩存減少了nginx與php的通信次數(shù),更減輕了php和數(shù)據(jù)庫的壓力。
proxy_cache緩存設置
復制代碼 代碼如下:
#注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分區(qū)
proxy_temp_path /data0/proxy_temp_dir;
#設置Web緩存區(qū)名稱為cache_one,內存緩存空間大小為200MB,1天沒有被訪問的內容自動清除,硬盤緩存空間大小為30GB。
proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
server
{
listen 80;
server_name  www.yourdomain.com  192.168.8.42;
index index.html index.htm;
root /data0/htdocs/www;
location /
{
#如果后端的服務器返回502、504、執(zhí)行超時等錯誤,自動將請求轉發(fā)到upstream負載均衡池中的另一臺服務器,實現(xiàn)故障轉移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache cache_one;
#對不同的HTTP狀態(tài)碼設置不同的緩存時間
proxy_cache_valid 200 304 12h;
#以域名、URI、參數(shù)組合成Web緩存的Key值,Nginx根據(jù)Key值哈希,存儲緩存內容到二級緩存目錄內
proxy_cache_key hosthosthosturiisargsis_argsisargsargs;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://backend_server;
expires 1d;
}
#用于清除緩存,假設一個URL為http://192.168.8.42/test.txt,通過訪問http://192.168.8.42/purge/test.txt就可以清除該URL的緩存。
location ~ /purge(/.*)
{
#設置只允許指定的IP或IP段才可以清除URL緩存。
allow 127.0.0.1;
allow 192.168.0.0/16;
deny all;
proxy_cache_purge cache_one $host111is_argsKaTeX parse error: Expected 'EOF', got '}' at position 7: args; }? #擴展名以.php、.jsp…
{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://backend_server;
}
access_log off;
}
}

fastcgi_cache緩存設置
復制代碼 代碼如下:
#定義緩存存放的文件夾
fastcgi_cache_path /tt/cache levels=1:2 keys_zone=NAME:2880m inactive=2d max_size=10G;
#定義緩存不同的url請求
fastcgi_cache_key "schemeschemeschemerequest_methodhosthosthosturiargfilenamearg_filenameargfilenamearg_xKaTeX parse error: Expected '}', got 'EOF' at end of input: …ation ~ (|.php) {
root /www;http://www.iis7.com/a/lm/ftp/fastcgi_pass 127.0.0.1:9000;
fastcgi_cache NAME;
fastcgi_cache_valid 200 48h;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

“Nginx+PHP的緩存詳細分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI