我正在制作一个基本的jquery游乐场网站.我收到错误:net::ERR_CONTENT_LENGTH_MISMATCH
正在页面加载时发生,并且页面上没有加载背景图像.
有问题的图像是300kb,也是动态变化的.我假设这与文件大小有关,但我真的不知道是什么.
最初使用的HTML:
用于更改背景的javascript/jquery:
var changebg = function() { if (myscore % 20 == 0) { level++; document.getElementById("level").innerHTML = "Level: " + level; $("#level").fadeIn(1500, function(){$("#level").hide()}) backgroundindex++; if (backgroundindex > 6) { backgroundindex == Math.floor((Math.random()*6)+1)}; document.getElementById("background").src="/bg"+backgroundindex+".jpg"; }; }
lfender6445.. 51
我收到错误:net :: ERR_CONTENT_LENGTH_MISMATCH
查看服务器日志以确定真正的问题.
对我来说,问题在于nginx和文件权限之间:
tail -f /usr/local/var/log/nginx/error.log
或运行nginx -t
以确定您的conf位置,您可以在其中指定自定义日志路径.
刷新浏览器中的资产,例如 http://localhost:3000/assets/jquery/jquery.js
您可能会在日志中看到类似的内容:
读取上游文件xyz时出现"/ usr/local/var/run/nginx/proxy_temp/9/04/0000000049"失败(13:权限被拒绝)
继承人我是如何修理的:
sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*
sudo nginx
有同样的问题,最终发现/ var /已满,不得不清除一些日志 (2认同)
AmirHd.. 7
以下是对我案件中发生的事情的更详细解释.这里选择的答案帮助我解决了我的问题,这基本上是一个更详细的选择答案的方法和原因!
您可以nginx
作为nobody
用户运行,这是大多数示例配置中的常见做法.您会在配置顶部找到此行:
user nobody;
但是,建议您的网络应用程序静态内容(如css,js和图像文件)允许nginx访问并通过绕过您的Web应用程序
容器来兑现它.这是您的配置中的部分:
location ^~ /static { alias /path/to/your/static/folder/; autoindex on; expires max; }
这是nginx
需要访问的文件夹.
另一方面,nginx
在上面的答案的案例中有专用文件夹:
/usr/local/var/run/nginx/
在我的情况下(CentOS),它在:
/var/lib/nginx/
在任何一种情况下你都可以打破nginx
:
1- Nginx作为无人运行,但没有对静态文件夹的正确访问权限.
2- Nginx作为无人运行,但随后以root身份运行以获取对静态文件夹的访问权限.
在我的情况下,最好的解决方案是更改nginx专用文件夹的权限以匹配我的静态文件夹.然后以具有对两者的正确访问权限的用户身份运行nginx.