網頁部署 - Github Pages

看起來unsplash過期了
在花費許多心力開發完網頁後,是時候該讓其他人來欣賞一下了 (ノ>ω<)ノ,之前我們所撰寫的 HTML、CSS、JS 都屬於 local 檔案,要讓這些檔案能夠被網際網路存取,對於新手來說最簡單的方式就是透過 Github Pages 的方式來進行。

網頁知識補充


一個網頁能呈現在你我眼前是經過一連串步驟:
  1. 透過搜尋引擎找到網站網址 (ex: www.example.com),這個網址就像是「郵政系統中的門牌號碼」,用來標示網頁的位置。
  2. 經由 DNS (網域名稱系統) 查詢對應的 IP 位址 (ex: 185.199.109.153),IP 位址就像是「經緯度座標」,可以精確指向伺服器在網路上的位置。
  3. 資料經過多個路由器傳輸,尋找該 IP 所對應的伺服器,這個過程類似快遞包裹經由不同的轉運站被送往目的地。
  4. 收到我們的請求後,伺服器以同樣的手法把 HTML、CSS、JS 等檔案回傳過來。
  5. 瀏覽器接收到這些資料後,進行解析與渲染,最終將它們呈現在螢幕上,成為我們所看到的網頁。
如果想自己架設伺服器提供網頁資料,除了機器本身要維運外,還需要去申請IP以及網址 (域名),這些都要花錢去跟網際網路服務供應商 (ISP) 買的。沒錢沒心力嗎~~~ 這時候就要靠 Github Pages - 能免費提供伺服器跟IP/域名的服務。

Local 開啟的網頁 IP 都是 127.0.0.1,這是 loopback address,代表本地端的意思。

Github Pages


你可以把它想成是一種由 GitHub 提供的「免費靜態網頁託管服務」,能夠將你的 repository 中的網頁資料轉換成一個公開的網站。所謂的「靜態網站」代表它無法進行伺服器端的動態處理,但對於blog、作品集等用途來說已經夠用了,以下介紹如何將 repository 轉成 Github Pages: github pages
由於免費帳號的 Github Pages 只支援公開專案,所以設定前請先確認 repository 的 visibility 是 public,確定後只需要簡單四步就能完成設定:
  1. 前往 repository 的設定。
  2. 點選 Pages。
  3. 選擇要使用哪個 branch 以及 repository路徑 當作網頁資料來源。
  4. 耐心等待一段時間後,上方會顯示出你的網站網址以及上傳人跟日期,網址一般會是 ${github_account}.github.io/${repository name}/。

網站內容不會立刻同步 repository,通常每次上傳會需要等個數分鐘到10幾分鐘才會慢慢同步。

功能補充


  • 縮短網址 - 有人會覺得網址內包含 repository name 會太長,Github Pages 允許將一個 repostory 的名稱取成 ${github_account}.github.io/,那這個 Page 的網址就會直接等於 ${github_account}.github.io/。
  • Custom domain - 如果有自己去申請 域名 (domain name),Github Pages 也可以幫你套用,就填在上圖的底下那個欄位中。
  • 多分頁架構 - 指定的 Github Pages 路徑底下都算是網站的內容,可以透過修改網址路徑連到不同資料夾底下的網頁檔案,例如: 本網址 personalworkingspace.github.io/ + category/Web-Design/Github Pages.html 代表此 HTML 文件是放在 repo 中的 category/Web-Design 資料夾底下。

Limitation


身為一個免費的服務,自然會有一些小小限制,底下列舉了一些重要限制,完整內容可以參考官網說明:
  • repository 大小不可超過 1GB - 對於一般文件檔案來說是夠用了,但做為網站會有不少的圖片/影片,如果直接放上來會佔不少空間,建議是上傳到其他地方再用連結引用。 另外隨著時間拉長,repo 的 Git History 所占用的空間會變得相當可觀,建議是額外開個 repo 來進行版本管控,Page 就顯示最終內容就好。
  • 每月限流 100GB - 這裡的流量是網頁載入到瀏覽器所產生的,假設網頁大小是 10MB,那你的網頁每月最多只能提供 10,000 人辦訪,超過 Github 可能會暫時封鎖,這個額度對於個人網頁算相當夠用了。
  • 每小時最多 10 次建立 - 這邊的建立是我們推 commit 到 Github Pages 指定的 branch 後所觸發的,代表一個小時內最多推 10 次這樣,超過就會被忽略,所以先在 local 做好全部變更後再一次上傳喔~~~。

總結


Github Pages 可說是相當佛心的服務,能透過簡單幾步驟就將我們平常用的 repository 轉成個人網站,更重要的是還免費!!! 看到這裡大家應該都了解到如何利用 Github Pages 來發布自己的網站了吧 ,趕緊去試試看吧 (๑•̀ㅂ•́)و✧。