透過 Now,你可以在任何時候把你的網站部屬到雲端主機服務,你不需要管理複雜的主機設定,全部都在 serverless 的服務上做到好,更重要的是它有免費方案!

要部屬網站,第一個想到的可能是 GitHub Pages,不過它只能放靜態的檔案。像是純靜態的 HTML、CSS、JavaScript,或是已經打包好的 React、Vue 框架等等。那如果今天我們寫的服務會用到 Node.js 後端,例如 Koa.js 伺服器怎麼辦?

或許你會想到 DigitalOcean,身為一個 Linux 使用者,開幾臺雲端 VPS 伺服器也不為過。不過有時候只是想把服務架好,或是找一個暫時的測試空間,開 VPS 的話部屬就會花很多時間。

透過 Now 服務,你不再需要管理 DNS、SSL、CDN 等複雜東西,你甚至可以在上面買網域、開啟 GitHub 或 GitLab 的自動部屬,這樣每當你推送東西到 Git 儲存庫時,Now 也會自動幫你建置好服務。

你說你不寫 JavaScript?Now 也有提供部屬 Docker 的服務。

安裝 now-cli

註冊好 Now 服務 以後,先透過 npm 安裝 now-cli:

npm install -g now

初次使用時需要登入,透過這個指令並配合它的提示到信箱收信,就可以登入完成:

now --login

它會在使用者資料夾(Home directory)中記載你的登入資訊,所以每臺電腦只需要登入一次即可,不需要每個專案都重新登入。

部屬到 now 雲端主機

假設你現在寫好一個服務要部屬,例如上一次的 React PWA 服務。那就在資料夾裡面下這個指令:

now

不需要記複雜的指令,也不需要多給太多參數,只要下 now,它就會開始部屬,並把專案資料夾當作這個專案的名稱。會以 [專案名稱].[使用者名稱].now.sh 產生一個網址,同時也會產生一個臨時網址,指向每一次部屬的版本。

還記得 GitHub Pages 部屬後卻常常看到還沒更新的快取嗎?透過這個臨時網址,就可以確保看到最新的狀態。

在 Dashboard 中你可以看到這個專案的版本,每個專案的專屬網址。

now_domain

你也可以在這邊綁定自己的網域。

now_dashboard

不過自訂的網域算是「正式版(Production)專用」,預設不會把最新版本都綁上自訂網域,要以 now --prod 指令發佈才會綁上自訂網域。好處是如果今天正式發佈出去的網站要測試新功能,依舊可以下 now 部屬到線上環境,看看在線上環境有沒有 bug 再決定要不要部屬。

結語

Now 服務免費方案算是很夠用,而且不用設定太多的東西就可以開始使用。我個人不太喜歡綁 Git Intergration,因為要推 GitHub 等儲存庫後才可以開始測試,而我又不太喜歡打很長的指令去做部屬,我覺得 now 這個指令很方便!

附帶一提,Hyper 跟 Now 服務都是 Zeit 公司開發的呢。

延伸閱讀