上生產后,頁面圖片第一次加載不出來,刷新后才出來

情況:第一次圖片加載不出來,需要多刷新兩次。
思路:圖片是資源,會通過ajax進行請求,清掉緩存,查看該圖片加載情況。(直接打開生產環(huán)境網址)
情況:

image.png

圖片第一次不能加載成功,是本質原因。所以圖片沒出來,顯示了alt。
要研究為什么第一次加載不出來。
image.png

這是這張圖片的請求 狀態(tài)206。
深挖一下:
image.png

也就是:圖片請求成功,但是服務器沒全給你。就吊著你。
思考:服務器,它這是有意見啊,哪里沒滿足它啊!
思考:服務器,限流了?
難解決,找百度。
https://www.jb51.net/article/191418.htm
文章核心如下:
直接在后臺服務器上用后臺服務器的IP地址去訪問,發(fā)現(xiàn)速度相當快,于是懷疑是Nginx的配置問題。
Nginx中配置
其中幾個重要的參數(shù)如下所示。

proxy_connect_timeout 600; #nginx跟后端服務器連接超時時間(代理連接超時)
proxy_read_timeout 600; #連接成功后,后端服務器響應時間(代理接收超時)
proxy_send_timeout 600; #后端服務器數(shù)據(jù)回傳時間(代理發(fā)送超時)
proxy_buffer_size 32k; #設置代理服務器(nginx)保存用戶頭信息的緩沖區(qū)大小
proxy_buffers 4 32k; #proxy_buffers緩沖區(qū),網頁平均在32k以下的話,這樣設置
proxy_busy_buffers_size 64k; #高負荷下緩沖大小(proxy_buffers*2)
proxy_temp_file_write_size 16k; #設定緩存文件夾大小,大于這個值,將從upstream服務器傳

而他服務器上的圖片基本都在100K~5M之間。

問題就出在proxy_temp_file_write_size上,當服務器上的文件超過該參數(shù)設置的大小時,Nginx會先將文件寫入臨時目錄(缺省為Nginx安裝目下/proxy_temp目錄),缺省Nginx是以nobody身份啟動的,用ls -al 命令查看proxy_temp目錄 nobody是proxy_temp目錄的所有者,怪了那為什么沒權限呢?接下來查看proxy_temp的父目錄既Nginx安裝目錄。發(fā)現(xiàn)nobody競然沒權限,怪不得會出現(xiàn)上面的問題。

我們工程連這一行都沒設置。后增加了這一行并proxy_temp_file_write_size 5m;
圖片第一次請求就可以下載下來。

================思考部分=================
img 上src屬性賦值問題,什么時候要用require,什么時候不用
<img src="../img/a.png">
寫死src引入本地路徑,就可以加載圖片
<img :src="res.img">
res.img 是https的網址,這樣寫也可以
<img :src="相對路徑">
又是動態(tài)的src,又是相對路徑,就需要require('')去加載圖片了

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容