在上一篇文章Debian下安裝Zend Opcache加快PHP中,我先容了通過安裝php插件對操縱碼緩存從而加快php會見的要領。對付常見的LNMP架構來說,php緩存也只是個中一個環(huán)節(jié),我們同樣可以對nginx以及mysql舉辦緩存。本日就來先容下如何通過開啟nginx fastcgi cache舉辦緩存加快。
實際上nginx有兩種常見的緩存模式:署理模式proxy_cache和當地模式fastcgi_cache。
proxy_cache的浸染是緩存后端處事器的內容,大概是任何內容,包羅靜態(tài)的和動態(tài)。淘汰了nginx與
后端通信的次數,節(jié)減了傳輸時間和后端寬帶。
fastcgi_cache的浸染是緩存fastcgi生成的內容,許多環(huán)境是php生成的動態(tài)的內容。淘汰了nginx與
php的通信的次數,更減輕了php和數據庫(mysql)的壓力,這比用memcached之類的緩存要輕松得多。
proxy_cache和fastcgi_cache可以在一個應用中同時利用,假如都用得著的話。
對付一般的應用來說,單臺處事器就足夠了。因此,我們這里重點先容下Nginx的FastCGI CACHE緩存模式。
實際上FastCGI Cache的道理就是將Nginx通過FastCGI轉發(fā)的請求緩存到硬盤中,再次請求的時候就可以直接從內存中讀取,晉升網站的加載速度。假如不太大白FastCGI的浸染,可以參考CGI、FastCGI、PHP-FPM先容。
Nginx FastCGI Cache設置要領 1、建設Cache目次
首先建設Cache目次:
2、修改nginx設置文件
server { listen ; #ipv6 #listen [::]:80 default_server; root /var/www/tennfy.com; index index.php index.html index.htm; server_name tennfy.com www.tennfy.com; location / { include wordpress.conf; } location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
在server的上方添加緩存目次:
# !緩存文件存放目次 # levels 緩存條理 # keys_zone 緩存空間名和共享內存巨細(熱點內容放在內存) # inactive 失效時間, 1d = 1天 # max_size 最大緩存空間(硬盤占用) fastcgi_cache_path /tmp/cache levels=: keys_zone=fcgi:15m inactive=1d max_size=1g; |
然后在fastcgi部門添加如下代碼:
# 挪用 cache 的定名空間 fastcgi_cache fcgi; # 生效值: 即署理方針的狀態(tài)碼以及緩存時間 fastcgi_cache_valid 1h; fastcgi_cache_valid any 1m; # 請求過幾多次溝通的URL后, 緩存將開始 fastcgi_cache_min_uses ; # 確定緩存成為逾期數據的環(huán)境 fastcgi_cache_use_stale error timeout invalid_header http_500; # 生成的緩存名稱的 key 的名字 # $scheme https/http # $request_method 請求要領,基于上面的配置,這里為GET # $host 主機 # $request_uri 請求地點 fastcgi_cache_key $request_method://$host$request_uri; |