前言
在软工实验中我启用了nginx,但是奇怪的是临近检查的时候它突然不行了,最终错过了软工检查时间,给实验老师提交的录屏。
问题描述
前后台启动成功后,访问localhost:xxxx
(自设置的端口号),但是奇怪的是他并没有得到想要的效果:
net::ERR_CONTENT_LENGTH_MISMATCH:长度不匹配?
错误解决过程:
1.将报错整个复制利用google进行搜索:
没想到google推荐的是一个根据国外stack overflow的翻译,可见更喜欢直接看中文的程序员有多少。可惜它很乱,而且有的地方翻译的不太懂,感觉是浪费时间。
2.根据第二个查询结果可知是nginx的问题
去看nginx日志信息:
依据选中的报错去查:
两条命令:
1.sudo chmod o+x /usr/local/var:获得操作文件的权限
2.sudo chown -vhR nobody:admin /usr/local/var/run/nginx:设置nginx拥有者为空,使用者为所有管理员组。
问题至此解决!
3.了解问题原因
nginx时有缓存的!
示例:
第一步:客户端第一次向Nginx请求数据A;
第二步:当Nginx发现缓存中没有数据A时,会向服务端请求数据A;
第三步:服务端接收到Nginx发来的请求,则返回数据A到Nginx,并且缓存在Nginx;
第四步:Nginx返回数据A给客户端应用;
第五步:客户端第二次向Nginx请求数据A;
第六步:当Nginx发现缓存中存在数据A时,则不会请求服务端;
第七步:Nginx把缓存中的数据A返回给客户端应用。
至此我的问题全部解决,在这其中我也搜到说把proxy_temp缓存文件夹删掉,确实删掉了,然后重新请求发现可以了,就拿着电脑又去机房找老师检查了,再一刷新又不行了。这其中的原理就是我删除之后是没有缓存了,但是我访问了一次,第二次访问他会直接去找第一次访问的缓存,由于权限不够,所以最终报这个错。
总结
首先是此次麻烦了很长时间强哥,耽误了他一下午还是挺愧疚的。此次最大的收获就是不能心急,同时任何东西也要记得看日志信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。