𝖄𝕺🌎𝕿𝕽𝕺¥

𝖄𝕺🌎𝕿𝕽𝕺¥

𝕴 𝖉𝖔 𝖒𝖆𝖌𝖎𝖈
github

halo博客配置oss对象云存儲阿里雲-博客訪問圖片資源速度慢的解決辦法

前言#

前幾天發現一個大問題,就是博客訪問往往秒開,但是圖片會一直卡著一點一點加載出來,特別耗費時間,尤其是有些文章裡包含多張大尺寸圖片的。所以為了解決這個問題我試著發帖尋找好的方法帖子之一

解決方案#

同時我也提供了三個方案

  1. 自己編寫程式在 halo 後臺上傳圖片時自動縮小上傳圖片大小 這是我能想到最好的方案
  2. 使用自帶縮略大小功能的圖床 但畢竟資源放在自己這裡更安心吧 不穩定的圖床網站可能導致圖片丟失
  3. 在上傳前把照片縮小 除非有批量處理軟體推薦 否則較為繁瑣

但是以上三個方案都存在一定的問題,在不斷了解後找到了可能是最好的解決方案。
後來我才了解到雲存儲這個東西。得出以下。

最優解決方案#

1. 雲存儲 + 圖片處理 —— 能夠突破自身帶寬限制結合自帶的圖片處理
2. gzip—— 優化網頁訪問速度
3. cdn 加速或全站加速

第一選擇 - 嘗試又拍雲過程中發現的一些問題#

由於最開始聽許多人都是配置的又拍雲存儲因為有送空間和流量,一年能便宜十幾塊吧。但是後來配置不起來也就沒管,那天突然想起問題所在即SSL 證書沒有配置好。圖片顯示地址需要解析到自己的域名,但是 halo 會根據證書同步原則自動將 https 的網頁綁定 https 的附件網址,所以如果博客有 https,那麼附件的地址也應為 https 否則無法訪問。
總之第一次弄雲存儲也需要不斷試錯,我們直接進入正題。

halo 對接阿里雲對象存儲 oss 配置#

本著用誰家的伺服器就用誰家的拓展業務的狗屁道理,我選擇阿里雲的 oss 對象存儲功能。

價格分析#

阿里雲裡購買對象存儲。根據定價解讀出檔案 5g 以下免費,但是資料傳輸有關的功能需要收費。雖然可以先用後付不過我們體驗完全沒有問題因為阿里雲支持最高 10 元的欠費。

halo 後臺附件配置#

在 halo 後臺 系統 —— 博客設置 —— 附件設置 —— 存儲位置 更改為阿里雲稍後會填充其他信息。

創建 bucket#

到阿里雲管理後臺創建bucket,注意存儲類型標準存儲,讀寫權限是公共讀其他不影響。記住 bucket 名稱填入 halo 後臺。
aliossbucket
點擊創建的 bucket 名稱,左邊欄概覽,記下訪問域名 —— 外網訪問Endpoint(地區節點)Bucket 域名填入 halo 後臺。當然也可以綁定解析到自己的域名,可以自己嘗試,但需要注意 http 和 https 協議(我就是這麼踩坑的)。

創建 access 子帳戶#

阿里雲介面右上角個人那裡點AccessKey 管理,可以理解為設置一個專門的帳戶開啟對接權限。
leadtoaccess
開始使用子帳戶 —— 創建用戶, 需要注意勾選編程訪問
accessuser
創建完成獲得AccessKey IDAccessKey Secret,填入 halo 後臺。
返回 oss 控制台點擊創建的 bucket 名稱。權限管理 ——Bucket 授權策略 —— 新增授權 —— 子帳號選擇剛創建的子用戶,注意要選完全控制

* 圖片處理#

圖片處理是相當重要的環節,現在不管是拍照還是截屏的檔案大小都不小,寬帶很慢的情況下必須適當壓縮圖片來提升訪問的速度。
oss 控制台裡數據處理 —— 圖片處理 —— 新建樣式,然後根據自己的需要調整即可。
創建完後需要注意上面的圖片處理域名規則

域名/sample.jpg?x-oss-process=style/stylename

這個對應 halo 的圖片處理策略修改填寫。
需要注意的是,圖片處理是在上傳時處理完畢的,即後期修改圖片處理方案無法應用於現有處理過的圖片。所以建議不斷嘗試直到找到完美的方案後再批量上傳。
以下是本人推薦方案
recommendphotomaker.png

其他雲存儲推薦#

推薦的免費雲存儲平台又拍雲,比較看好他們的又拍雲聯盟活動。在網站 footer 處添加友聯即可。但又拍雲不支持 halo 後臺瀏覽附件。

參考文章#

為博客搭建圖床
oss 價格實踐結果
halo & 又拍雲
網站開啟 gzip

鳴謝大佬提供的解決方案與啟發#

越行勤's Blog
Juning 的小本本

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。