/var/lib/nginx/client_body/0000000011 使用 node.js 失败(13:权限被拒绝)

BrT*_*kCa 4 nginx slackware node.js

我使用node.jsNginx 作为在 Slackware 14.1 上运行的 Web 服务器。

我创建了一个上传文件的页面。在我的开发机器(像 Debian 一样)它工作正常,但在生产(Slackware 服务器)中我得到这个错误/var/log/nginx/error.log

2015/10/09 15:08:44 [crit] 1231#0: *5 open() "/var/lib/nginx/client_body/0000000003" failed (13: Permission denied), client: 10.0.0.22, server: localhost, request: "POST /home/perfil_usuario/upload HTTP/1.1", host: "aluno.fio.edu.br", referrer: "http://aluno.fio.edu.br/home/perfil_usuario/upload"
Run Code Online (Sandbox Code Playgroud)

并且 Nginx 返回一个500 Internal Server Error.

我搜索并尝试了许多帖子中的修复程序,但错误仍在继续。

Fed*_*rra 6

正如错误消息所说,这是一个权限问题。

这通常是由于 nginx 进程用户(www-data例如)没有对父目录之一的读取/执行访问权限造成的。

检查/var/lib/nginx/client_body/并确保每个目录级别的权限正确以解决问题。

  • @shonkylinuxuser 这是正确的行为,如果请求正文大于缓冲区(`client_body_buffer_size` 默认 8k|16k),则整个请求正文或仅其部分被写入临时文件(`client_body_temp_path`)。 (4认同)