设为首页 收藏本站
查看: 1320|回复: 0

[经验分享] Nginx_PHP缓存设置的整理对比

[复制链接]

尚未签到

发表于 2018-12-24 10:40:59 | 显示全部楼层 |阅读模式
作者:diege
时间:2012-04-21
要注意临时文件和缓存是有区别的。Temp临时文件。Cache缓存
一、Nginx
1、  客户端缓存
client_max_body_size 20m;
client_header_buffer_size 32k;
large_client_header_buffers 4 64k;
client_body_temp_path   /data/tmp/nginx_client_body_temp;
允许客户端请求的最大单个文件字节数
#用于指定来至客户端请求头的最大的单个文件字节数.
#较大消息头的缓存的最大数量和大小
#客户端请求主体的缓存目录
2、  反向代理缓存
proxy_buffer_size       4k;
#设置从被代理服务器读取的第一部分应答的缓冲区大小,通常情况下这部分应答中包含一个小的应答头,默认情况下这个值的大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设为更小
proxy_buffers           4 32k;
#设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,默认情况也为分页大小,根据操作系统的不同可能是4k或者8
proxy_busy_buffers_size 64k;
#设置系统很忙时可以使用的proxy_buffers的大小,官方推荐位proxy_buffers*2
proxy_temp_file_write_size 128k;
#设置在写入proxy_temp_path时缓存临时文件的大小,预防一个工作进程在传递文件时阻塞太长
proxy_store on;
#这个指令设置哪些传来的文件将被存储,参数”on”保持文件与aliasroot指令指定的目录一致,参数”off”将关闭存储,路径名中可以使用。
#注意proxy_store不是一个缓存,它更像是一个镜像。
proxy_store_access user:rw group:rw all:r;
#指定创建文件和目录的相关权限
proxy_temp_path   /data/temp/proxy_temp_dir;
#proxy_temp_pathproxy_cache_path指定的路径必须在同一分区
proxy_cache_path  /data/temp/proxy_cache_dir  levels=1:2   keys_zone=cache_one:200m inactive=1d max_size=30g;
#设置内存缓存空间大小为200MB1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB
proxy_cache cache_one;
设置Web缓存区名称为cache_one
proxy_cache_methods GET HEAD POST;
#要缓存的http方法
proxy_cache_key $host$uri$is_args$args
#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录
proxy_cache_min_uses 1;
多少次请求后应答将被缓存,默认1
proxy_cache_valid 200 302 12h;
proxy_cache_valid 404 1m;
proxy_cache_valid any 1m;
#对不同的HTTP状态码设置不同的缓存时间
二、php缓存
http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:fastcgi
开始缓存非常有用,可以降低CPU负载,并且防止502错误的发生。但开启缓存也会引起很多问题,要视具体情况而定
fastcgi_buffer_size 128k;
#这个参数指定将用多大的缓冲区来读取从FastCGI进程到来应答头。
#默认的缓冲区大小为fastcgi_buffers指令中的每块大小,可以将这个值设置更小。
fastcgi_buffers 4 256k;
#设置缓存区的个数和大小 具体要根据站点php页面文件大小的中间值来决定.这里4*256k 小于1
fastcgi_busy_buffers_size 256k;
#默认设置是fastcgi_buffers的两倍
fastcgi_temp_file_write_size 256k;
#表示在写入缓存文件时使用多大的数据块,默认值是fastcgi_buffers的两倍
#fastcgi_temp_path /dev/shm;
#将缓存放入内存中。LINUX
fastcgi_temp_path       /data/tmp/nginx_fastcgi_temp;
fastcgi_temp_path       /data/tmp/nginx_fastcgi_temp 1 2;
指定存储从别的服务器传送来的数据临时文件路径,同样可以指定三级目录已经哈希存储,level的值指定为哈希设置多少标记,例如,在下列配置中
fastcgi_cache_path  /data/tmp/fastcgi_cache levels=1:2 keys_zone=fastcgi_cache:10m inative=5m;
#这个指令指定FastCGI缓存的路径以及其他的一些参数,所有的数据以文件的形式存储,缓存的关键字(key)和文件名为代理的url计算出的MD5值。
Level参数设置缓存目录的目录分级以及子目录的数量
fastcgi_cache fastcgi_cache;  #开始fastcgi缓存并指定一个名称
fastcgi_cache_valid 200 302 1h; #200 302 缓存一个小时
fastcgi_cache_valid 301 1d; #301缓存1
fastcgi_cache_valid any 1m; #其他应答缓存1分钟




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655198-1-1.html 上篇帖子: Php获取图片的宽和高 下篇帖子: php实现下载url快捷方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表