资讯专栏INFORMATION COLUMN

fastcgi_cache / laravel 4 页面使用缓存.

Apollo / 1889人阅读

摘要:定义哪些状态码要缓存和换成多久定义哪些情况下用过期缓存定义的,示例中就以请求的作为缓存的,会取这个的作为缓存文件,如果设置了缓存哈希目录,会从后往前取相应的位数做为目录。用哪个缓存空间那些请求使用缓存段虚拟主机段天津里添加调试信息

有一个API接口访问量很大,而且对内容的时效性没有很高要求,使用 fastcgi_cache 可以很好的降低服务器负载,不过 laravel 的页面默认几乎都会带上 no-cache 的 头信息,所以 api 接口需要把这个头信息去掉才能让 nginx 的 fastcgi_cache 命中,方法:

    return Response::view("pages.index", $data)
        ->setCache(array( "public" => 1 )); //这里还有很多参数可以设置

如果你使用了CDN可以设置 max_age 为cdn缓存时长,还可以 last_modified 为文章修改时间, etag 等。

我是开启了 nginx 的fastcgi_cache 功能 所以只需要一简单的 public 就可以了.

nginx fastcgi_cache 设置简单说明

文件 fcgi_cache.conf :

fastcgi_temp_path /tmp/ngx_fcgi_tmp;
fastcgi_cache_path /tmp/ngx_fcgi_cache levels=2:2 keys_zone=ngx_fcgi_cache:512m inactive=3h max_size=5g;
fastcgi_cache_valid 200 3h;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key $request_method://$host$request_uri;
fastcgi_cache_methods GET HEAD;

fastcgi_temp_path:生成fastcgi_cache临时文件目录

fastcgi_cache_path:fastcgi_cache缓存目录,可以设置目录哈希层级,比如2:2会生成256*256个字目录,keys_zone是这个缓存空间的名字,cache是用多少内存(主要缓存key和文件元信息,不会缓存页面),inactive表示默认失效时间,max_size表示最多用多少硬盘空间,需要注意的是fastcgi_cache缓存是先写在fastcgi_temp_path再移到fastcgi_cache_path,所以这两个目录最好在同一个分区,从0.8.9之后可以在不同的分区,不过还是建议放同一分区。

fastcgi_cache_valid:定义哪些http状态码要缓存,和换成多久 1d 3h 5m 10s

fastcgi_cache_use_stale:定义哪些情况下用过期缓存

fastcgi_cache_key:定义fastcgi_cache的key,示例中就以请求的URI作为缓存的key,Nginx会取这个key的md5作为缓存文件,如果设置了缓存哈希目录,Nginx会从后往前取相应的位数做为目录。

fastcgi_cache:用哪个缓存空间

fastcgi_cache_methods:那些请求method 使用缓存

nginx.conf http { ... }include fcgi_cache.conf;

虚拟主机 location php 段 天津

add_header X-Cache-CFC "$upstream_cache_status - $upstream_response_time"; #header 里添加调试信息
fastcgi_cache ngx_fcgi_cache;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/61756.html

相关文章

  • fastcgi_cache / laravel 4 页面使用缓存.

    摘要:定义哪些状态码要缓存和换成多久定义哪些情况下用过期缓存定义的,示例中就以请求的作为缓存的,会取这个的作为缓存文件,如果设置了缓存哈希目录,会从后往前取相应的位数做为目录。用哪个缓存空间那些请求使用缓存段虚拟主机段天津里添加调试信息 有一个API接口访问量很大,而且对内容的时效性没有很高要求,使用 fastcgi_cache 可以很好的降低服务器负载,不过 laravel 的页面默认几乎...

    cartoon 评论0 收藏0
  • fastcgi_cache / laravel 4 页面使用缓存.

    摘要:定义哪些状态码要缓存和换成多久定义哪些情况下用过期缓存定义的,示例中就以请求的作为缓存的,会取这个的作为缓存文件,如果设置了缓存哈希目录,会从后往前取相应的位数做为目录。用哪个缓存空间那些请求使用缓存段虚拟主机段天津里添加调试信息 有一个API接口访问量很大,而且对内容的时效性没有很高要求,使用 fastcgi_cache 可以很好的降低服务器负载,不过 laravel 的页面默认几乎...

    mayaohua 评论0 收藏0
  • 高并发中nginx较优的配置

    摘要:指令中的参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在时间内一次没被使用,它将被移除。 一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项: nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。 worker_processes 8; 为每...

    马永翠 评论0 收藏0
  • oneinstack+lnmp:nginx编译Nginx fastcgi_cache模块

    摘要:可以使用命令恢复如下注意备份的是按照时间命名,请注意修改此外,升级为平滑升级,升级过程不影响的运行。最后本文介绍了和如何编译模块,如果对这个模块有需要的童鞋,可以参考,至于宝塔,因为默认安装了该模块,所以就不多做介绍了。宝塔面板,lnmp一键包,oneinstack,都是我们常用的生产环境,但如果你用到Nginx fastcgi_cache模块,那么宝塔是自带的,lnmp安装也非常简单,只有...

    I_Am 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<