溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Serverless Framework 部署個人博客到云平臺

發(fā)布時間:2021-12-16 16:26:42 來源:億速云 閱讀:192 作者:柒染 欄目:云計算

如何使用Serverless Framework 部署個人博客到云平臺,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

本次實踐涉及到的騰訊云云服務(wù)

  • Serverless Framework

  • COS(對象存儲)

  • API 網(wǎng)關(guān)

  • DNSPod 域名注冊、域名備案、域名解析

  • SSL 證書

  • CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))

域名購買與備案

2021/01/21 在 DNSPod(2011 年被騰訊收購)購買了域名 serverlesslife.cn 并進行了實名認證。

購買域名后,在中國大陸,要使用域名提供服務(wù),還需要進行域名備案。

2021/1/31 在「騰訊云網(wǎng)站備案」小程序上提交了備案申請;

經(jīng)過了兩輪審核(騰訊云審核+管局審核)后,在 8 天后的 2021/02/07 審核通過。

Serverless Framework 簡介

Serverless Framework 是 serverless.com 推出的一個流行的 Serverless 框架,它可以將 Serverless 函數(shù)/應(yīng)用部署到不同的云廠商的 Serverless 平臺。在國內(nèi)騰訊云與  serverless.com 達成戰(zhàn)略合作,對它進行了很多定制,做了很多組件,使得很容易將 Serverless 函數(shù)/應(yīng)用部署到騰訊云。

使用 Hugo 搭建個人博客

要搭建個人獨立博客,有很多開源的建站工具可以用,比如:WordPress、Hexo、Jekyll、Hugo 等等,不勝枚舉。

因為之前用過 Hugo,并且比較喜歡它,這里使用了 Hugo 來搭建個人博客。

Hugo 是由一個 Go 語言實現(xiàn)的靜態(tài)網(wǎng)站生成器。簡單、易用、高效、易擴展、快速部署。

Hugo 易擴展指的是它有豐富的主題可以選擇,這是筆者喜歡它的原因之一,每個人都可以選擇自己喜歡的主題。

在 Hugo 站點初始化后,在眾多主題中選擇了主題: LoveIt(多么好聽的名字呀?。?。

主題也有很多參數(shù),可以根據(jù)自己的需求按需配置。

基本框架搭建完成后,如果要編寫博文,只需要添加 Markdown 文件和相關(guān)靜態(tài)資源文件。

Hugo 支持本地實時預(yù)覽,可以一邊寫 markdown 文件,一邊就能通過瀏覽器實時查看效果。

當(dāng)然部署到生產(chǎn)服務(wù)器,需要進行編譯,編譯成站點的任務(wù)只要一條 hugo 命令就能完成。

站點源碼托管在 GitHub 上: https://github.com/serverlesslife-cn/serverlesslife

同時使用 GitHub Actions 將代碼同步到了 Gitee: https://gitee.com/serverlesslife/serverlesslife

部署站點

在站點編譯后,使用 Serverless Framework CLI 便可將它部署到騰訊云。

Serverless Framework CLI 需要一個配置文件 serverless.yml,此時配置文件內(nèi)容如下:

component: website # (必填) 引用 component 的名稱,當(dāng)前用到的是 tencent-website 組件
name: serverlesslife-2021 # (必填) 該 website 組件創(chuàng)建的實例名稱
app: serverlesslife-2021 # (可選) 該 website 應(yīng)用名稱
stage: prod # (可選) 用于區(qū)分環(huán)境信息,默認值是 dev

inputs:
  src:
    src: ./public
    index: index.html
  region: ap-guangzhou
  bucketName: serverlesslife-2021
  protocol: https

其中 public 目錄是 hugo 編譯之后站點文件所在目錄。

使用 serverless deploy 命令進行部署操作,如果沒有在本地的 .env 配置 secretid 和 secretkey,需要使用微信進行掃描登錄。

部署過程中,會在 COS 創(chuàng)建一個 bucket 并將 public 目錄下的文件上傳到這個 bucket 中,然后會生成一個騰訊云四級域名的訪問地址。其中該 bucket 前綴是 serverlesslife-2021,工具會自動加上騰訊云賬號的 APPID 作為后綴。

Serverless Framework 控制臺下,會有一個應(yīng)用名稱為 serverlesslife-2021 的應(yīng)用,這個應(yīng)用會有一個騰訊云四級域名的訪問地址,如下所示:

如何使用Serverless Framework 部署個人博客到云平臺

在 COS 對象存儲的存儲桶列表頁,可以看到有一個名稱為 serverlesslife-2021-1259061164  的 bucket,如下所示:

如何使用Serverless Framework 部署個人博客到云平臺

自定義域名 + SSL 證書 + 自動刷新 CDN

配置「自定義域名 + SSL 證書 + 自動刷新 CDN」還需要在 serverless.yml 中增加一些配置信息,整個 serverless.yml 文件如下:

component: website # (必填) 引用 component 的名稱,當(dāng)前用到的是 tencent-website 組件
name: serverlesslife-2021 # (必填) 該 website 組件創(chuàng)建的實例名稱
app: serverlesslife-2021 # (可選) 該 website 應(yīng)用名稱
stage: prod # (可選) 用于區(qū)分環(huán)境信息,默認值是 dev


inputs:
  src:
    src: ./public
    index: index.html
  region: ap-guangzhou
  bucketName: serverlesslife-2021
  protocol: https
  hosts:
    - host: serverlesslife.cn
      autoRefresh: true #開啟自動 CDN 刷新,用于快速更新和同步加速域名中展示的站點內(nèi)容
      onlyRefresh: false #建議首次部署后,將此參數(shù)配置為 true,即忽略其他 CDN 配置,只進行刷新操作
      https:
        switch: on
        http2: on
        certInfo:
          certId: 'kBM9GLPt'

上面的配置文件支持配置多個域名,每個域名下面還可以配置其他信息,如 SSL 證書 ID、自動刷新 CDN 等。

使用自定義域名時,如果需要配置 SSL 證書,那么就必須使用 CDN,因為在 CDN 下可以配置證書。

SSL 證書需要事先在 SSL 證書控制臺申請,這里申請了一個免費證書,證書有效期一年,申請成功后會有一個 ID:kBM9GLPt,如下所示:

如何使用Serverless Framework 部署個人博客到云平臺

在配置好域名相關(guān)信息后,Serverless Framework 在部署后做了大量的事情,大大簡化了配置成本。

如果不用 Serverless Framework 的話,那么就需要在不用云服務(wù)的控制臺多個地方來回進行配置。

下面看下在配置「自定義域名 + SSL 證書 」背后,Serverless Framework 都做了哪些事情:

1、CDN 控制臺下,證書管理—>配置證書,將域名和證書關(guān)聯(lián)到了一起,如下所示:

如何使用Serverless Framework 部署個人博客到云平臺

2、CDN 控制臺下,域名管理—>添加域名,新增了一條記錄,為 serverlesslife.cn 開啟了靜態(tài)加速,將 COS 靜態(tài)網(wǎng)站作為源站點,并會生成 CNAME:

如何使用Serverless Framework 部署個人博客到云平臺

3、COS 控制臺下,點進 serverlesslife-2021-1259061164 存儲桶,在域名傳輸與管理—>自定義 CDN 加速域名處,也會看到有一條記錄:

如何使用Serverless Framework 部署個人博客到云平臺

此時,要正常訪問域名,還需要手動配置下域名解析:打開 DNSPod 控制臺,為 serverlesslife.cn 添加一條 CNAME 記錄,記錄值為 CDN 生成的 CNAME:serverlesslife.cn.cdn.dnsv1.com。

如何使用Serverless Framework 部署個人博客到云平臺

注意:在首次部署后,將 onlyRefresh  參數(shù)配置為 true,即忽略其他 CDN 配置,只進行刷新操作,否則部署時間會相對比較長。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI