在上一篇文章Debian下安装Zend Opcache加快PHP中,我先容了通过安装php插件对操纵码缓存从而加快php会见的要领。对付常见的LNMP架构来说,php缓存也只是个中一个环节,我们同样可以对nginx以及mysql举办缓存。本日就来先容下如何通过开启nginx fastcgi cache举办缓存加快。
实际上nginx有两种常见的缓存模式:署理模式proxy_cache和当地模式fastcgi_cache。
proxy_cache的浸染是缓存后端处事器的内容,大概是任何内容,包罗静态的和动态。淘汰了nginx与
后端通信的次数,节减了传输时间和后端宽带。
fastcgi_cache的浸染是缓存fastcgi生成的内容,许多环境是php生成的动态的内容。淘汰了nginx与
php的通信的次数,更减轻了php和数据库(mysql)的压力,这比用memcached之类的缓存要轻松得多。
proxy_cache和fastcgi_cache可以在一个应用中同时利用,假如都用得着的话。
对付一般的应用来说,单台处事器就足够了。因此,我们这里重点先容下Nginx的FastCGI CACHE缓存模式。
实际上FastCGI Cache的道理就是将Nginx通过FastCGI转发的请求缓存到硬盘中,再次请求的时候就可以直接从内存中读取,晋升网站的加载速度。假如不太大白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; # 生效值: 即署理方针的状态码以及缓存时间 fastcgi_cache_valid 1h; fastcgi_cache_valid any 1m; # 请求过几多次沟通的URL后, 缓存将开始 fastcgi_cache_min_uses ; # 确定缓存成为逾期数据的环境 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; |