关于nginx:nginx-cache踩坑

60次阅读

共计 867 个字符,预计需要花费 3 分钟才能阅读完成。

前言

在软工试验中我启用了 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 缓存文件夹删掉,的确删掉了,而后从新申请发现能够了,就拿着电脑又去机房找老师查看了,再一刷新又不行了。这其中的原理就是我删除之后是没有缓存了,然而我拜访了一次,第二次拜访他会间接去找第一次拜访的缓存,因为权限不够,所以最终报这个错。

总结

首先是此次麻烦了很长时间强哥,耽搁了他一下午还是挺愧疚的。此次最大的播种就是不能心急,同时任何货色也要记得看日志信息。

正文完
 0