web请求数据被截断:

发生条件

  1. 页面被频繁的请求,并且请求返回数据大于64K
  2. 服务器`/var/lib/nginx/` nginx启动用户`www` 无法写入

报错日志

2021/06/07 15:19:35 [crit] 31512#0: *27346 open() "/var/lib/nginx/tmp/fastcgi/3/74/0000000743" failed (13: Permission denied) while reading upstream, client: 10.255.248.211, server: localhost, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "localhost", referrer: "https://localhost"
2021/06/07 15:19:45 [crit] 31515#0: *27357 open() "/var/lib/nginx/tmp/fastcgi/4/74/0000000744" failed (13: Permission denied) while reading upstream, client: 10.255.248.211, server: localhost, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "localhost", referrer: "https://localhost"

问题解决

服务器上赋nginx使用用户www可写入
chown www.www /var/lib/nginx/ -R

什么是 PHP-FPM 和 Fastcgi

  1. PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个实现了Fastcgi的程序,并且提供进程管理的功能。
  2. FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口。

为什么你只在特别大的页面上会出现写入缓存文件

  1. 如果你配置的 FastCGI 缓冲区不足以将来自 PHP-FPM 的整个响应放入内存中,并且这种情况在大响应中会更频繁地发生,NGINX 将尝试写入部分对临时文件的响应。

为什么会写入不存成功

  1. nginx 通过yum安装默认是使用的*nginx*用户创建的目录,而在线上配置初始化后将使用用户改为*www*,所以www用户无法写入nginx创建的文件目录

优化nginx配置
提高缓存大小

fastcgi_buffer_size 256k;  #: 缓存区大小,接收第一部分响应项目缓冲区大小
fastcgi_buffers 8 128k;     #: 缓存区大小 和缓存区数量
fastcgi_busy_buffers_size 256k;  #:繁忙时缓存区大小,一般是 fastcgi_buffers *2
fastcgi_temp_file_write_size 256k;  #:临时文件大小

在nginx初始化中赋nginx使用用户www可写入

chown www.www /var/lib/nginx/ -R

查考资料
fastcgi 参数
PHP-FPM
PHP-FPM + nginx producing a permission denied, but only on certain large pages

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值