当我使用这个sudo tail -n 20 /var/log/nginx/error.log
阅读日志时,我遇到了这个错误;
我的网站正在加载,但一切都是黑色的,当我看着控制台日志,我看到这个Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
来自预览日志的完整错误如下所示2019/09/30 16:24:09 [crit] 9103#9103: *81 mkdir() "/var/cache/nginx/proxy_temp/5" failed (2: No such file or directory) while reading upstream, client: MY_IP, server: dev.example.com, request: "GET /bundle.js HTTP/1.1", upstream: "http://127.0.0.1:5000/bundle.js", host: "dev.example.com", referrer: "https://dev.example.com/"
个
我已尝试给予权限缓存文件夹,但仍然无法工作
3条答案
按热度按时间qnzebej01#
它说它在尝试创建文件夹“/var/cache/nginx/proxy_temp/5”时失败。
检查nginx正在使用的用户和
chown -R user:user /var/cache/nginx
。还有
chmod -R +x /var/cache/nginx
,只是为了确保文件夹上有足够的权限。:)
kxxlusnw2#
我的场景是在ASP.NET CORE 6.0中使用API,我收到502错误,但是,当执行下面的命令时,工作成功
在Linux上,运行以下命令以检查日志
字符串
如果您使用的是NGINX,请检查您是否反复遇到拒绝avc:denied { name_connect } for pid= XX拒绝=“nginx”dest=5000
如果是,请运行以下命令
型
尝试再次访问。
zzlelutf3#
对于那些可能有更有创意的nginx配置的人来说,如果你在启动服务器后更改了nginx用户,nginx将使用默认的用户权限创建代理文件夹和文件:
www-data
在我的例子中,我已经改变了我的
nginx.conf
:字符串
在重新启动时,我从反向代理得到了一堆错误,这些错误引用了可能是在用户为
www-data
时缓存的缓存文件和我之前的那些人一样:
型
您的nginx版本可能会将代理放置在
/var/lib/nginx/*
中,而不是/var/cache/nginx/*
中ls -l /var/lib/nginx/proxy/
应显示user:group
型
ps aux | grep "nginx: worker process"
应该显示nginx用户型
如上所述:
sudo chown -R www:www /var/lib/nginx/proxy/*
和您的问题将得到解决。请注意,您需要
chown
的文件将取决于您的nginx版本存储代理文件和文件夹的位置(或者您可能将其存储到的位置)。干杯!干杯!