開了一臺主機以後可以做什麼呢?第一件事就是要把自己寫的服務放上去讓別人使用吧!這篇文章會介紹兩種常見的部屬服務的方法。
如果你還沒有主機,建議可以架一台 DigitalOcean,並參閱 剛架設雲端 VPS 主機後該做的三件事
這篇文章中,我們會嘗試部署 API 實作(二):以 Koa 實作 RESTful API 的範例,如果你沒有看過前面的文章,建議要先把 Node.js 安裝起來。
通常工程師都會把自己的作品放到 GitHub 上吧!不管是 public 還是 private 的,應該都可以這樣使用。如果你已經有一個 Node.js 服務,可以換成你的網址:
cd ~
git clone https://github.com/noobtw/koa-api-example
試著切換到這個資料夾,並執行看看:
cd koa-api-example
npm install
node server.js
接著就可以使用 Postman 來測試看看這支 API 能不能正常使用囉!
另外,有些人可能沒有將專案推到 GitHub 的習慣,這時候從本機使用 scp
來部署就是一個好方法。SCP 是 Secure Copy 的縮寫,使用 SSH Tunnel 來傳遞檔案,所以如果你的 SSH 可以用,你的 SCP 就可以用。
這邊假設你的本機已經有一個專案叫 koa-api-example
,而且你可以正常的用 ssh
指令連線到主機。首先請切換(cd
)到 koa-api-example
外層的資料夾,例如如果你的專案在 ~/koa-api-example
的話,請切換到 ~
。
接著使用這個指令把你的專案推上去:
# scp -r [本機資料夾] [遠端帳號]@[遠端IP]:[遠端路徑]
scp -r koa-api-example noob@209.97.165.221:~/koa-api-example
接著一樣 ssh
到你的主機,試試看能不能執行這個專案:
cd ~/koa-api-example
npm install
node server
平常我大概會用這兩個方法來部署服務,因為通常大部分的機器都會裝 git
和 ssh
。如果習慣用 ftp
的朋友,也是可以嘗試用 FileZilla 來移動,只是要特別設定 FTP 相對麻煩,甚至是可以使用 sftp
指令或 FileZilla+SFTP 來部署。但是指令才一行,不學一下嗎?
目前的狀況是你還要手動執行 node server.js
才會打開服務,而且關掉 SSH 視窗以後就不見了。下一篇文章會介紹怎麼讓服務保持運作,甚至是遇到錯誤的時候重新啟動、開機自啟動。
本篇文章同步發表在 Noob's Space。