nginx高并发低时延特点如何体现在代理模块上

2021-11-26  本文已影响0人  小心我的code

本文背景:

xxx系统投产前夕,由于代码中富文本内容都存到了数据库中,在查询资讯信息详情的时候加载需要几秒钟-十几秒的时间(根据返回体的大小不同而不同),所以计划先缩减咨询的图片大小,然后我们立即修改图片存储的方式(图片上传到文件服务器,db只存路径)。但是在做生产网络巡查以及流程验证时发现,《资讯详情》偶现网络异常的错误。

  1. 表现层错误:


    image.png

2.服务端错误:


image.png

3.看到这里从网上了解到服务端错误并不是代码问题,于是查了nginx日志。

[crit] 225644#0: *50493152 open() “/data/nginx/nginx/temp/proxy_temp/4/24/0000000244” 
failed (13: Permission denied) while reading upstream, client: xxx.xxx.xxx.xx, 
server: localhost, request: “GET /api/wx/health/info/3 HTTP/1.1”, 
upstream: “http://ip:9000/wx/health/info/3”, host: “域名”, referrer: “域名/nc-WeChatAccount/"
image.png

看到这些错有点疑惑nginx为啥报权限不足的错误,百度搜索之后发现是nginx的机制导致的。

百度查询的错误原因:

当前用户是nginx,proxy_temp文件属主是nobody。
注意: 此文件有个坑: 若nginx服务启动用户是nginx,而执行nginx -t 操作时用的是root用户,就会强行改变proxy_temp临时目录的权限(会变成nobody),注意注意!!!!
难怪汇报permission denied。

此时修改的文件夹的属主之后当前问题解决,但是疑惑加深了,为什么网络异常是偶现

看到这里那么恭喜你了,经过架构师的帮助,究其原因还是nginx的机制导致。

nginx的特点如何体现在代理服务器上

先说一下nginx的特点:

image.png

以上。

上一篇下一篇

猜你喜欢

热点阅读