nginx配置导致过长数据截断问题
使用js fetch请求php的时候,出现了The operation was abort
SyntaxError: JSON.parse: unterminated string at line xxx of the JSON data
错误,nginx日志出现了2022/04/09 18:58:19 [crit] 759465#759465: *5007 open() "xxx/nginx/fastcgi_temp/6/07/0000000076" failed (13: Permission denied) while reading upstream, client: xxx, server: localhost, request: "POST xxx", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "xxx", referrer: "http://xxx"
错误。
这是因为nginx配置中设置了
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
这两个是用来限制发送数据的buffer,超过buffer大小,会使用硬盘缓存,而如果默认位置没有访问权限,就会报上面nginx的错误,修改方案有两种:
一是修改buffer大小,对应的有几个参数,可以确认一下
二是修改使用硬盘缓存的路径,改到可以有权限访问的位置,对应的配置是fastcgi_temp_path /home/test/nginx;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏