在開發創作期間,越來越多的開發者出于多樣化需求,選擇自建圖床,自行管理圖檔,安全便捷。那麼,如何優雅地部署一款圖床應用呢?本文就以一個開源的多功能圖床為例,向大家講解如何借助雲托管(CloudBase Run)在雲開發環境中輕松部署一款圖床應用。
蘭空圖床 (Lsky Pro) 已在 Github 上斬獲 1.3K+ Stars ,具有操作簡便、UI美觀、可視化管理、支援接入第三方存儲平台等多項優點,目前也已支援一鍵部署至雲開發。
項目首頁:https://github.com/wisp-x/lsky-pro
雲托管 CloudBase Run 是由雲開發提供的新一代雲原生應用引擎(App Engine 2.0),支援托管任意語言和架構編寫的容器化應用。
圖層配置見項目首頁,下方主要介紹雲托管的相關配置操作。
開通 CloudBase 雲開發環境
注意:
包年包月環境無法開通雲托管。
目前,來源為“微信小程式”的環境暫不支援開通雲托管。
登入 雲開發 CloudBase 控制台,選擇一個環境,進入雲托管管理頁面,單擊「立即開通」。

目前,雲托管已開放上海和廣州地域,更多地域将陸續開放。
網絡設定包括 私有網絡 VPC 和 子網。以環境為次元,雲托管中建立的所有服務,都将部署在這同一個 VPC 之中,且成功開通雲托管後不支援更換網絡設定。
網絡設定分為如下兩種模式:
雲托管将為您自動建立一個 VPC 和子網,并将其綁定您目前的雲開發環境。
後續您在目前環境下的雲托管中建立的所有服務,都将被部署到這個 VPC 和子網中。
此過程無需您手動進行任何設定。後續您可以在 私有網絡控制台 中檢視并管理這個由雲托管自動建立的 VPC 及子網,也可以将更多雲資源部署在這個 VPC 之内,以便這些雲資源進行互動。
如果您之前已經建立過私有網絡 VPC 和子網,并在其中已經部署有其他雲資源,且需要您的雲托管應用與這些已存在的雲資源進行互動,則您可以選擇「自定義配置」,然後選擇具體的 VPC 和子網。
VPC 隻能選擇一個,子網支援選擇多個。
單擊「送出」,狀态變為開通中,請等待數秒。
開通成功後,您将自動跳轉到雲托管的服務清單頁面。
至此您已經成功開通後雲托管服務,您可以單擊「建立服務」開始部署我們的圖床啦。
進入至項目根目錄,鍵入
建立好<code>cloudbaserc.json</code>檔案後,編輯檔案
更多參數說明,可參考雲托管容器插件。
根據項目的需求,編輯好 Dockerfile 檔案以及相關的檔案,這裡我們就不一一詳細說明啦,具體可參考示例倉庫内的<code>Dockerfile</code>
在完成上述的一系列工作之後,我們可以進行最關鍵的一步 【部署至雲托管】。
将項目上傳至 Github 或者 Gitee 等代碼托管平台,進入雲開發控制台,單擊「建立」:
填寫好相關資訊後,點選下一步:
選擇地區,并輸入我們要建立的資料庫管理者密碼後,點選下一步:
上述工作完成後,點選「立即開通」:
在等待片刻後(部署可能需要5-10分鐘),我們的項目就部署至雲開發·雲托管啦,我們可以在雲環境内看到我們建立的應用。
注:應用需要依賴CFS以及Mysql資料庫,是以會建立相關資源。
一般人我不會告訴他,還可以根據雲開發 CloudBase Framework 文檔,做一個一鍵部署按鈕哦!
完成上述步驟後,我們已經把我們的應用部署至雲托管啦,但是還差最後一步,給我們的圖床建立一個資料庫(部分應用可自動建立)。我們點選騰訊雲控制台菜單,點選「TDSQL-C」。
點選「登陸」
在輸入密碼後,建立資料庫
建立完成後,我們可以回到剛剛的雲托管應用界面啦。點選「通路」即可跳轉至應用安裝頁
資料庫位址輸入我們的内網位址哦!
安裝完成後,就大功告成啦!!
點選「通路服務」,添加域名資訊
最後根據要求配置好就完成添加啦
在此示例中,雲托管的副本模式為高可用,保留了一個副本數供連接配接使用;
TDSQL- C資料庫會在無連接配接狀态(預設10分鐘)下進行暫停,屆時通路應用會出現資料庫無法連接配接情況,重新整理再次通路則會啟動資料庫;
在配置域名後,可進行CDN加速,保證了圖檔通路的速度。
本示例倉庫位址 Github:https://github.com/Handsomedoggy/lsky-pro
雲托管 CloudBase Run 官網:https://cloud.tencent.com/product/tcbr
CloudBase Framework 1.5K ✨:https://github.com/Tencent/cloudbase-framework
作者:雲開釋出道師Doggy 熊二哈
雲開發(Tencent CloudBase,TCB)是騰訊雲提供的雲原生一體化開發環境和工具平台,為開發者提供高可用、自動彈性擴縮的後端雲服務,包含計算、存儲、托管等serverless化能力,可用于雲端一體化開發多種端應用(小程式,公衆号,Web 應用,Flutter 用戶端等),幫助開發者統一建構和管理後端服務和雲資源,避免了應用開發過程中繁瑣的伺服器搭建及運維,開發者可以專注于業務邏輯的實作,開發門檻更低,效率更高。
開通雲開發:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
産品文檔:https://cloud.tencent.com/product/tcb?from=12763
技術文檔:https://cloudbase.net?from=10004
技術交流群、最新資訊關注微信公衆号【騰訊雲開發CloudBase】