騰訊雲 COS 對象存儲是利用雲存儲空間來存放靜態文件,讓網站動靜分離跑的更快。我們平時用 wordpress 博客較多,而適用於騰訊雲的很多都失效不好用了,今天看到一個騰訊雲 COS 對象存儲的 WordPress 同步插件,日期比較新,測試了一下也好用。下面魏艾斯博客把用這個插件同步騰訊雲 COS 對象存儲的過程寫出來。
動態網站程序(比如 php、asp、jsp)和靜態文件(比如圖片)默認放在一臺 VPS 上面,流量變大之後會拖慢整個網站打開速度,所以就有了雲對象存儲這個概念。意思是把動態網站程序和圖片之類的靜態文件分離開來,這樣訪問網站速度更快。主要還是國內服務器帶寬比較貴,動靜分離能夠把服務器資源最大化利用。凡是網站堅持做到一定規模的站長未來都要考慮這一點。
插件來源是水冷眸(https://www.slmwp.com/cos-sync-plugins.html)和沈唁志(https://qq52o.me/2130.html)。這兩位大佬的插件都是在前人已有插件的基礎上自行改進適應了騰訊雲 COS 目前的版本,你用哪個都可以,他們自己也在用。
折騰之前請一定要備份網站、數據庫,備份是敢於折騰的根本保障,切記!
爲什麼用騰訊雲 COS?
在中國大陸地區使用 COS 標準對象存儲的用戶,每月可享受一定量的免費存儲空間、免費流量、和免費請求。 計費時,優先抵扣免費額度,超出部分再進行後付費結算。
資源類型 | 資源子類型 | 每月免費額度 |
---|---|---|
存儲空間 | 存儲空間 | 50 GB |
流量 | 外網下行流量 | 10 GB |
流量 | 騰訊雲 CDN 回源流量 | 10 GB |
請求 | 讀請求 | 100 萬次 |
請求 | 寫請求 | 100 萬次 |
像個人博客的小站點足夠用了,老魏在本文中拿來存放博客圖片,動靜分離給雲服務器減輕壓力。
騰訊雲對象存儲 COS 資源包,具有高擴展性、低成本、可靠和安全等特點,提供專業的數據存儲服務
標準存儲容量 | 歸檔存儲容量 |
---|---|
適合隨時訪問、無需維護、海量規模存儲 | 適用於海量數據的長期存儲,低頻率訪問的場景 |
100G / 123.24 元 / 12 個月 | 100G / 38.02 元 / 12 個月 |
點我優惠購買 原價 156 元 | 點我優惠購買 原價 39.6 元 |
更多活動請移步騰訊雲長期活動優惠產品彙總 騰訊雲優惠活動彙總頁面 不定期更新
一、添加存儲桶和 API
在騰訊雲後臺找到對象存儲,創建存儲桶,所屬地域一定選擇和你雲服務器在同一個地域的,訪問權限一般是公有讀私有寫。
APP ID 設置:在雲密鑰 API 管理中找到。
secretID 和 secretKey:隨機生成,複製下來後面會用到。
二、設置插件
下載地址前面有你自己選擇一款吧。在 wordpress 後臺的插件>>安裝插件中上傳(或者 FTP 上傳到插件目錄 wp-content\plugins 下)這個插件並啓用。配置插件有兩個途徑:一是 WordPress 已安裝插件有設置按鈕去設置。二是 WordPress 後臺左側導航欄設置>>騰訊雲 cos 設置,再點擊進入設置頁面。
有一點要注意:如果網站是 http 前綴,需要把插件/wordpress-qcloud-cos-master/sdk/Qcloudcos 目錄下的 conf.php 文件中的 https://region.file.myqcloud.com/files/v2/改爲 http://region.file.myqcloud.com/files/v2/,如果是 https 前綴,conf.php 這裏就別改了。
大家參考下圖設置吧,插件描述已經寫的很清楚了。
三、騰訊雲 cos 設置
添加了存儲桶之後,要手動創建文件夾,wp-content 文件夾,下面再創建 uploads,訪問權限是繼承。然後把已發佈文章的圖片都上傳過去。使用騰訊雲官方的 COSBrowser 工具操作,速度也蠻快的。如果你看到這裏有點迷糊,其實也不難理解。wordpress 博客的圖片默認在 wp-content/uploads 下面存放,在騰訊雲 COS 下同樣創建這兩個目錄,然後我們就可以上傳圖片了。
如果你像和老魏這樣自定義域名,就在存儲桶>>域名管理中添加自定義加速域名,系統生成一個 CNAME 域名,你要給放到域名 DNS 解析當中去,給你的圖片單獨添加一個域名解析。
後面如果 wordpress 上傳新圖片無法顯示,就在存儲桶>>基礎設置中開啓回源設置,把主域名添加上去,一般問題就解決了。
四、騰訊雲 CDN 設置
這裏主要說的是添加自定義域名的情況,http 域名就沒啥好說的了,https 域名還要把證書文件扔到 CDN 加速裏面,強制 301 跳轉。
五、修改已發佈圖片路徑
已發佈文章中的圖片路徑需要手動修改。修改可以用 wp 插件修改,也可以進入 phpmyadmin 修改。
再重複一遍,一定要提前備份好網站文件和數據庫,再放手摺騰。
這裏有相關教程:
WordPress 批量替換 url 插件 Velvet Blues Update URLs 安裝使用
老魏推薦使用插件替換,用完後刪除掉。
到這裏接近尾聲了,你去前臺打開網頁試試,已發佈文章的圖片地址是騰訊雲 COS 的地址,再去 wordpress 媒體中添加圖片看看,也是 COS 的地址了,這樣就實現了動靜分離。
後記:
1、魏艾斯博客把手裏現有的網站折騰了一下,有一個 http 站沒問題,而 https 站就有問題。問題主要出在新建文章的圖片上,http 站上傳後最開始看不到圖片,後來按照上面第三條的回源設置操作了一下,就正常了。但是 https 站這樣操作就無效了。所以目前老魏也只能把新建文章圖片通過 COSBrowser 工具手動上傳到騰訊雲 COS 的對應目錄中去,爲解決這個問題聯繫了插件作者沈唁,最後也沒有找到合適辦法解決。
2、爲了繼續使用騰訊雲 COS 對象存儲,老魏嘗試在 wordpress 後臺的設置>>媒體中修改了“文件的完整 URL 地址”,要注意因爲沒有了插件中的 API 授權,上傳圖片後是灰色無法顯示的狀態(其實在老魏這裏 https 站傳圖一直都是這樣),新建文章的圖片採取手工上傳到騰訊雲 COS 的辦法,麻煩了點不過不會出現看不到特色圖片的尷尬情況。
3、魏艾斯博客目前在用的 DUX 模板、memcacehd 和這個插件之間有兼容性問題,一是啓用插件後,前臺文章列表頁的特色圖片等待很久才能顯示出來,用戶體驗很差。二是啓用、停用插件會導致後臺白屏。
請注意:這裏插件可以停掉,但如果卸載插件就看不到這兩行,img 這個自定義文件 URL 地址也失效了,那樣只能在上傳圖片後手動修改網址路徑了。
4、這個插件在老魏這裏測試不成功,最終還是卸載掉了,又回到了本地服務器動靜態共存的狀態。不過確實有不少網友都在使用,也側面說明對一部分 wordpress 模板來說還是蠻好用的。畢竟這個插件是非官方開發的,不可能做到像官方那樣解決全部問題。別的模板我也沒有測試過,有使用經驗的朋友請在下面留言反饋。
5、這個插件最好用在日 PV 幾萬的網站點上,這樣的動靜分離纔有實際作用,日流量幾千的博客、網站,或網站圖片分辨率並不是很大的話,圖片放在本地和放在對象存儲上幾乎沒差別。
爲此事發工單詢問過騰訊雲官方也沒有提供類似的插件或者組件之類的,如果你有好的解決方法,希望各路大神能開發出更好用的基於騰訊雲存儲 COS 的 WordPress 遠程附件插件。