上生产后,页面图片第一次加载不出来,刷新后才出来

2022-11-17  本文已影响0人  浅浅_2d5a

情况:第一次图片加载不出来,需要多刷新两次。
思路:图片是资源,会通过ajax进行请求,清掉缓存,查看该图片加载情况。(直接打开生产环境网址)
情况:

image.png
图片第一次不能加载成功,是本质原因。所以图片没出来,显示了alt。
要研究为什么第一次加载不出来。
image.png
这是这张图片的请求 状态206。
深挖一下:
image.png
也就是:图片请求成功,但是服务器没全给你。就吊着你。
思考:服务器,它这是有意见啊,哪里没满足它啊!
思考:服务器,限流了?
难解决,找百度。
https://www.jb51.net/article/191418.htm
文章核心如下:
直接在后台服务器上用后台服务器的IP地址去访问,发现速度相当快,于是怀疑是Nginx的配置问题。
Nginx中配置
其中几个重要的参数如下所示。

proxy_connect_timeout 600; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_read_timeout 600; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时)
proxy_buffer_size 32k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 16k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传

而他服务器上的图片基本都在100K~5M之间。

问题就出在proxy_temp_file_write_size上,当服务器上的文件超过该参数设置的大小时,Nginx会先将文件写入临时目录(缺省为Nginx安装目下/proxy_temp目录),缺省Nginx是以nobody身份启动的,用ls -al 命令查看proxy_temp目录 nobody是proxy_temp目录的所有者,怪了那为什么没权限呢?接下来查看proxy_temp的父目录既Nginx安装目录。发现nobody竞然没权限,怪不得会出现上面的问题。

我们工程连这一行都没设置。后增加了这一行并proxy_temp_file_write_size 5m;
图片第一次请求就可以下载下来。

================思考部分=================
img 上src属性赋值问题,什么时候要用require,什么时候不用
<img src="../img/a.png">
写死src引入本地路径,就可以加载图片
<img :src="res.img">
res.img 是https的网址,这样写也可以
<img :src="相对路径">
又是动态的src,又是相对路径,就需要require('')去加载图片了

上一篇下一篇

猜你喜欢

热点阅读