深入Nginx + PHP 快取詳解
以下是對Nginx中的PHP快取進行了詳細的分析介紹,需要的朋友可以參考下
Nginx快取
nginx有兩種快取機制:fastcgi_cache和proxy_cache
下面我們來說說這兩種快取機制的區別吧
proxy_cache作用是快取後端伺服器的內容,可能是任何內容,包括靜態的和動態的
fastcgi_cache作用是快取fastcgi生成的內容,很多情況是php生成的動態內容
proxy_cache快取減少了nginx與後端通訊的次數,節省了傳輸時間和後端頻寬
fastcgi_cache快取減少了nginx與php的通訊次數,更減輕了php和資料庫的壓力。
proxy_cache快取設定
複製程式碼 程式碼如下:
#注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分割槽
proxy_temp_path /data0/proxy_temp_dir;
#設定Web快取區名稱為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
192.168.8.42;
index index.html index.htm;
root /data0/htdocs/www;
location /
{
#如果後端的伺服器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺伺服器,實現故障轉移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache cache_one;
#對不同的HTTP狀態碼設定不同的快取時間
proxy_cache_valid 200 304 12h;
#以域名、URI、引數組合成Web快取的Key值,Nginx根據Key值雜湊,儲存快取內容到二級快取目錄內
proxy_cache_key
h
o
s
t
uri
i
s
a
r
g
s
args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass
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 $host
1
is_args
KaTeX 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
}
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 "
s
c
h
e
m
e
request_method
h
o
s
t
uri
a
r
g
f
i
l
e
n
a
m
e
arg_x
KaTeX parse error: Expected '}', got 'EOF' at end of input: …ation ~ (|.php)
{
root /www; 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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2637507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx快取使用詳解,nginx快取使用及配置步驟Nginx快取
- Nginx 快取機制詳解!非常詳細實用Nginx快取
- 詳解nginx代理天地圖做快取解決跨域問題Nginx地圖快取跨域
- Mybatis快取詳解MyBatis快取
- Redis詳解(十二)------ 快取穿透、快取擊穿、快取雪崩Redis快取穿透
- Nginx 代理快取Nginx快取
- JuiceFS 快取預熱詳解UI快取
- 詳解 nginx php-fpm 工作機制NginxPHP
- PHP快取之Opcode快取PHP快取
- 快取穿透詳解及解決方案快取穿透
- http強制快取、協商快取、指紋ETag詳解HTTP快取
- 深度詳解GaussDB bufferpool快取策略快取
- HTTP深入之快取HTTP快取
- php讀取大檔案詳解PHP
- nginx反向代理快取教程。Nginx快取
- Nginx瀏覽器快取Nginx瀏覽器快取
- Nginx快取設定教程Nginx快取
- 瀏覽器快取機制詳解瀏覽器快取
- 深入解析 HTTP 快取控制HTTP快取
- Nginx快取伺服器配置Nginx快取伺服器
- Nginx快取原理及機制Nginx快取
- 009.Nginx快取及配置Nginx快取
- Nginx配置瀏覽器快取Nginx瀏覽器快取
- nginx 詳解Nginx
- Nginx詳解Nginx
- Mybatis 一級快取和二級快取原理區別 (圖文詳解)MyBatis快取
- nginx代理天地圖做快取解決跨域問題Nginx地圖快取跨域
- Nginx 快取使用指南-簡單Nginx快取
- Nginx越界讀取快取漏洞 CVE-2017-7529Nginx快取
- 詳解快取更新策略及如何選擇快取
- 詳解NSURLCache快取引發的安全漏洞快取
- nginx配置詳解Nginx
- Nginx rewrite 詳解Nginx
- 快取問題(四) 快取穿透、快取雪崩、快取併發 解決案例快取穿透
- 深入剖析瀏覽器快取策略瀏覽器快取
- 快取穿透、快取擊穿、快取雪崩概念及解決方案快取穿透
- 【Redis】快取穿透,快取擊穿,快取雪崩及解決方案Redis快取穿透
- REDIS快取穿透,快取擊穿,快取雪崩原因+解決方案Redis快取穿透