如何使用 Hugo 和 Azure 搭建高效能且低成本的網站?

閱讀時間約 7 分鐘
raw-image

你想要搭建一個既經濟實惠、高性能、可擴展且安全的網站,而又無需管理繁瑣後台的工作和懂編碼技術嗎?

今天,我將分享一個高性價比的解決方案,幫助你在微軟 Azure Static App靜態應用的服務上,使用 Hugo 構建一個高性能且安全的網站。

最棒的是什麼?

你甚至不需要了解任何編程知識,只需懂得如何使用 Markdown 在編輯器中創建頁面。

之前,我在 AWS 的 Lightsail 上創建了一個高可用性的 WordPress 網站。

然而,我發現要維持 WordPress 的高安全性需要持續的關注和額外的後台工作。

特別是,WordPress 的漏洞插件通常成為駭客入侵您網站的後門。

後來,我發現了 Hugo,可以用來構建靜態網站,甚至可以在幾分鐘內輕鬆地托管靜態網站在 Azure Static App靜態應用上,且不需要再擔心網站安全和效能的問題。

當然,您可以使用任何框架,如 Gatsby、Ghost、Hugo、Jekyll 來產生和部署靜態網頁到 Azure Static App靜態應用。

現在,你甚至可以利用 200 美元的免費信用額度,架設免費的網站。

讓我們開始吧。


內容大綱

  • 介紹 Hugo 和 Azure 靜態網頁應用
  • 需要的設定條件
  • 使用 Hugo 創建靜態網站
  • 設置 Azure 靜態網頁應用
  • 使用 GitHub Action的 CI/CD 進行測試和部署
  • 小秘訣
  • 總結


1.介紹 Hugo 和 Azure 靜態網頁應用

Hugo:一個快速且現代的靜態網站生成器,用 Go 語言編寫,以其建立靜態網站的速度和效率著稱。

你只需了解 Markdown 格式,就能在不需任何 HTML、JavaScript 或 CSS 網頁編程語言知識的情況下創建體面的網頁。

Azure 靜態網頁應用:由 Microsoft Azure 提供的一項服務,用於托管靜態內容,如 HTML、CSS、JavaScript 和圖片。它與 GitHub 和 Azure DevOps 整合,用於 CI/CD 管道。

不要害怕靜態內容。 你需要做的是在 Hugo 中運行單一命令行以構建靜態頁面,並將它們上傳到 Azure 靜態應用。

當然,這個過程可以自動啟動且整合 於CI/CD 管道自動化,當你的Github Repo(代碼

)有任何推送事件時,會自動部署。


2.需要的設定條件

你要有

  • 了解Markdown 和 Github 的基本知識。
  • 一個 GitHub 和 Azure 開發者帳號。


3. 使用 Hugo 創建靜態網站

安裝 Hugo

如果你使用 macOS 並且使用 Homebrew,你可以通過以下方式安裝 Hugo

brew install hugo


首先,創建你的新 Hugo 網站。

//創建 Hugo 示例網站

hugo new site demo-website// Goto hugo example site

cd demo-website


設置主題

git init

git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/anankeecho theme = \"ananke\" >> config.toml


新增頁面

hugo new posts/my-first-post.md


啟動 Hugo 服務器

你可以在以下位置測試並查看你的頁面

hugo server -D// Open your page

http://localhost:1313/4. Customizing Your Site


Tips:

  • hugo server 是一個用於建立網站和生成靜態內容的命令,方便你本地測試。
  • 如果你想在本地測試聯盟連結或廣告,你可以執行。
// This command can simulate the production usage

hugo serve -e production


4. 設置 Azure 靜態網頁應用

  • 一旦你的 Hugo 網站準備好了,你需要將你的網站上傳到 Github。
  • 然後登錄到 Azure → 創建一個新的靜態網頁應用 → 連接你的 GitHub 庫和分支。 然後點擊審查 + 創建
raw-image


5. 使用 GitHub Action的 CI/CD 進行測試和部署

你可以編輯一個頁面並將這個更改推送到 Github。

然後 Github → 在Action 標籤下,你可以檢查是否完成了構建和部署工作。

如果它顯示一個綠色圖標,這意味著部署工作成功。

raw-image

然後你可以前往 Azure 靜態應用 → 點選Visit your site

raw-image

6.小秘訣

Azure Static App靜態應提供許多功能,幫助您節省時間。

  • 自定義域名:您可以在 Azure 靜態網頁應用設置中輕鬆添加自定義域名。
  • SSL 證書:Azure 為自定義域名提供免費的 SSL 證書。
  • 成本管理:在 Azure 門戶中監控您的使用情況,確保您保持在預算範圍內。
  • 與 AWS Amplify 相比,Azure Static App靜態應用比 AWS Amplify 更為簡單,因為在設置網站時不會遇到奇怪的問題而卡住您。


Hugo

  • 您可以輕鬆找到或購買合適的模板來構建您的遊戲促銷或個人網站。
  • 要設置其他常見功能,如 Google Analytics 和評論(https://disqus.com)
  • 您可以編輯 ./<您的 Hugo 代碼>/config/_default/params.toml 以啟用它們。
vim ./<Your Hugo Code>/config/_default/params.toml

# google analytics

googleAnalytics = "<Replace Google Analytics ID>" # example: UA-123-45, for more info, read the article https://support.google.com/analytics/answer/1008080?hl=en

# disqus short name

disqusShortname = "<Replace disqus ID>" # get your shortname form here : https://disqus.com

# Create Robots.txt for SEO

enableRobotsTXT = false


7. 總結

恭喜!

raw-image

在這篇文章中,你已經學會了如何在 Azure Static App靜態應用上使用 Hugo 構建一個高性能且安全的網站,而且甚至不需要進行管理工作。 此外,你還了解到如何輕鬆地與 CI/CD 整合,以提升你的生產力。

如果你想快速構建一個網站,這篇文章將是一個很好的參考和開始。

如果你認為這篇文章有益,請通過👏這篇文章或追蹤我們來表達您的支持,以便在未來獲得最新的教程。

感謝您的閱讀!


原文發佈於 Game Tech Tutorial


分享技術文章解決問題及生活點滴。技術包括雲端技術(AWS, GCP, Azure)的實戰經驗、雲端證照考試指南、Unity遊戲開發、DevOps、SDK,手機遊戲和應用程式及網站開發。
留言0
查看全部
發表第一個留言支持創作者!
本文您將可學到用幾個簡單的步驟,就可以快速整合推送功能到Unity的iOS和Android手機遊戲中。 幫你解決常見的代碼庫相衝問題,讓您的工作產能爆增。
這個教程可以幫助您為Unity遊戲設置崩潰日誌服務,讓您在短短幾分鐘內獲取崩潰日誌。
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
本文您將可學到用幾個簡單的步驟,就可以快速整合推送功能到Unity的iOS和Android手機遊戲中。 幫你解決常見的代碼庫相衝問題,讓您的工作產能爆增。
這個教程可以幫助您為Unity遊戲設置崩潰日誌服務,讓您在短短幾分鐘內獲取崩潰日誌。
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
Arduino是一個廣泛用於物聯網(IoT)和嵌入式開發的開源平台。在這個教學中,我們將向您展示如何使用Arduino和I2C LCD模組來顯示一條簡單的消息:"Hello World!"。我們將使用LiquidCrystal_I2C庫來簡化LCD的控制。
Thumbnail
可能包含敏感內容
在AI的動態世界中,Undress AI作為進步的巔峰而閃耀。使用複雜的機器學習算法,它產生與真實生活無法區分的明確視覺效果。這本指南提供了對Undress AI的全面了解,介绍其多樣的功能和使用方法。
Thumbnail
在Web3.0與自媒體盛行的當下,如何讓內容觸及最佳受眾成為一大挑戰。AI技術在此扮演關鍵角色,能夠幫助創作者優化內容、預測受眾行為、精確投放廣告、提供Web3.0下的內容分發策略,以及建議更具互動性的內容形式。利用AI,內容製作者能確保其作品在網路上產生最大的影響力。
Thumbnail
這篇文章會展示一下如何使用現代化工具,快速把論文上的公式轉換成程式碼 1.首先到 https://accounts.mathpix.com/login 網站註冊一個帳號並下載snipping 這個軟體是專門讓使用者利用截圖的方式把數學式子轉化成LATEX格式 我以一個論文看到的演算法為範例 好然後
Thumbnail
身為一個實在不太怕被AI搶飯碗的專業文案(我覺得它寫的成果對創意廣告文案來說,我直接寫出完稿,比設法詠唱問題更快,但企劃、論述、增長改短這些工作上面,我則已經在使用它來降低成本了),忽然很好奇我到底有哪些事情可以請它幫忙,哪些事情還是自己動手比較又快又好? 今天我就
Thumbnail
在 FlowUs、Notion 等软件的 Database/多维表中,用户经常会进行各种类型的任务管理。比如,阅读清单、健康打卡、时间追踪、项目管理。为了在这些使用场景中快速查看和追踪任务进度,便需要使用进度条。 以下我将展示进度条的几种使用方法: 全年时间追踪·进度条 公式如下 日期·进度条
Thumbnail
使用间隔重复强化记忆 正如很多人已经所熟知的艾宾浩斯遗忘曲线中所揭示的那样,我们的记忆是随着时间的流逝而衰减的,并且这种记忆衰减是有规律的。对此,最好的办法,便是在记忆衰退之前,按照一定的时间规律进行复习和自我检验。间隔重复便是一种被证明行之有效的记忆方法,能在很大程度上抵抗艾宾浩斯遗忘曲线。
Relx通用彈/煙彈會比吸煙好嗎? Relx的煙彈不是完全無害的,但它的危害性比傳統香煙小得多。為了打破不良的吸煙習慣,Relx可以是另一吸煙替代品選擇。如果是慣性吸煙者,改用Relx電子煙是一個不錯的選擇。但如果從不吸煙,開始前最好考慮清楚。 多少口的Relx電子煙等於一包香煙?
Thumbnail
不同類別股票應該選擇適合的評估方法,衡量股價與合理價關係以進行投資決策。本篇教您如何使用「現金股利殖利率法」進行價值評估,以三檔股票(中保科、一零四、華研)為例, 計算合理價,並解讀2020 Q2財報指標,檢視重要轉投資公司績效,擬定現階段投資策略,晚上睡得著覺,安心領股息。
Thumbnail
不過因為網站和 repo 都是託管在 GitHub,就想說是不是可以直接在 GitHub 上讓他自動部署就好,我只要把文件上傳上去,接著 CI 就幫我弄好了。剛好之前 GitHub 就有推出 GitHub Actions,就是 GitHub 自己的 CI/CD 服務。剛好可以來試試看,
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
Arduino是一個廣泛用於物聯網(IoT)和嵌入式開發的開源平台。在這個教學中,我們將向您展示如何使用Arduino和I2C LCD模組來顯示一條簡單的消息:"Hello World!"。我們將使用LiquidCrystal_I2C庫來簡化LCD的控制。
Thumbnail
可能包含敏感內容
在AI的動態世界中,Undress AI作為進步的巔峰而閃耀。使用複雜的機器學習算法,它產生與真實生活無法區分的明確視覺效果。這本指南提供了對Undress AI的全面了解,介绍其多樣的功能和使用方法。
Thumbnail
在Web3.0與自媒體盛行的當下,如何讓內容觸及最佳受眾成為一大挑戰。AI技術在此扮演關鍵角色,能夠幫助創作者優化內容、預測受眾行為、精確投放廣告、提供Web3.0下的內容分發策略,以及建議更具互動性的內容形式。利用AI,內容製作者能確保其作品在網路上產生最大的影響力。
Thumbnail
這篇文章會展示一下如何使用現代化工具,快速把論文上的公式轉換成程式碼 1.首先到 https://accounts.mathpix.com/login 網站註冊一個帳號並下載snipping 這個軟體是專門讓使用者利用截圖的方式把數學式子轉化成LATEX格式 我以一個論文看到的演算法為範例 好然後
Thumbnail
身為一個實在不太怕被AI搶飯碗的專業文案(我覺得它寫的成果對創意廣告文案來說,我直接寫出完稿,比設法詠唱問題更快,但企劃、論述、增長改短這些工作上面,我則已經在使用它來降低成本了),忽然很好奇我到底有哪些事情可以請它幫忙,哪些事情還是自己動手比較又快又好? 今天我就
Thumbnail
在 FlowUs、Notion 等软件的 Database/多维表中,用户经常会进行各种类型的任务管理。比如,阅读清单、健康打卡、时间追踪、项目管理。为了在这些使用场景中快速查看和追踪任务进度,便需要使用进度条。 以下我将展示进度条的几种使用方法: 全年时间追踪·进度条 公式如下 日期·进度条
Thumbnail
使用间隔重复强化记忆 正如很多人已经所熟知的艾宾浩斯遗忘曲线中所揭示的那样,我们的记忆是随着时间的流逝而衰减的,并且这种记忆衰减是有规律的。对此,最好的办法,便是在记忆衰退之前,按照一定的时间规律进行复习和自我检验。间隔重复便是一种被证明行之有效的记忆方法,能在很大程度上抵抗艾宾浩斯遗忘曲线。
Relx通用彈/煙彈會比吸煙好嗎? Relx的煙彈不是完全無害的,但它的危害性比傳統香煙小得多。為了打破不良的吸煙習慣,Relx可以是另一吸煙替代品選擇。如果是慣性吸煙者,改用Relx電子煙是一個不錯的選擇。但如果從不吸煙,開始前最好考慮清楚。 多少口的Relx電子煙等於一包香煙?
Thumbnail
不同類別股票應該選擇適合的評估方法,衡量股價與合理價關係以進行投資決策。本篇教您如何使用「現金股利殖利率法」進行價值評估,以三檔股票(中保科、一零四、華研)為例, 計算合理價,並解讀2020 Q2財報指標,檢視重要轉投資公司績效,擬定現階段投資策略,晚上睡得著覺,安心領股息。
Thumbnail
不過因為網站和 repo 都是託管在 GitHub,就想說是不是可以直接在 GitHub 上讓他自動部署就好,我只要把文件上傳上去,接著 CI 就幫我弄好了。剛好之前 GitHub 就有推出 GitHub Actions,就是 GitHub 自己的 CI/CD 服務。剛好可以來試試看,