我有一个nginx服务器,它工作正常约1年,但两个星期前服务器已被转移到另一个供应商。一切都很好,但经过一段时间,approximatly 3天,服务器开始抛出上传文件的错误,如:
2017/07/26 09:58:18 [crit] 13254#13254: *2829396 open() "/var/lib/nginx/proxy/7/12/0000002127" failed (13: Permission denied) while reading upstream, client: 195.82.157.12, server: ***, request: "GET *** HTTP/1.0", upstream: "***", host: "***", referrer: "***"
但这是错误的,我甚至更改权限为777为舒尔,但仍然有同样的错误。
日志中没有其他错误,只有/var/lib/nginx/proxy/后面的数字名称不同的“permission denied”。重新启动nginx后一切正常,但现在这个错误以随机间隔返回,大约2天。我找到的唯一解决方法是重新启动。
有没有人能帮我或者至少给予个线索,我应该在哪里挖来修复这个问题?
5条答案
按热度按时间plupiseo1#
使用以下命令给予
/var/lib/nginx/
权限:这对我很有效。
ao218c7q2#
尝试以下操作:将nginx
proxy_temp_path
更改为/tmp
,编辑您的代理配置文件,添加:并重新启动nginx。
q5iwbnjs3#
至于为什么突然之间发生这种情况,我想是因为NGINX只在文件大于9K的时候才把文件放在那里,也许你以前处理的是较小或相同大小的文件。
cidc1ykv4#
我找到了一个可行的解决方案。在我的例子中,它是SELinux强制执行规则和权限,所以即使我在临时代理路径上也有正确的权限,如:
nginx用户无法在那里创建任何文件。
修复:禁用SELinux
或者更好的解决方法是为nginx用户配置适当的权限。
1szpjjfi5#
这个问题似乎是因为许可问题。
你能不能检查一下nginx是用哪个用户运行的,并且看看文件夹
/var/lib/nginx/proxy/
上有什么权限?可能是nginx试图在代理文件夹中创建一个新文件,但由于基本文件夹的权限不正确,它无法创建。
我建议为nginx用户提供一个chown-R和777-R到
/var/lib/nginx/proxy/
文件夹本身。如果这不起作用,您也可以尝试在
/var/lib/nginx/
上做同样的事情,看看是否起作用。但是,我不确定这会导致多大的安全问题。希望这个有用。