Heroku : node.js

 

Heroku 是一個支援 多種程式語言 的 雲平台服務. 

2011 年時, Ruby 的首席設計師 松本行弘  後, Heroku 開始支援 node.js

( 剛好今年 Coscup 有一場 松本行弘 的演說 )


  

Heroku 利用 DNS, 將 網址 應用程式名.herokuapp.com 轉址到 Heroku 伺服器上執行. 

這樣我們雖然沒有虛擬主機/web server, 也可以來做 node.js 網頁相關程式應用. 


而在 database 上, 也有提供 PostgreSQL.


而 Heroku 怎麼盈利呢, 雖然純粹學習興趣愛好使用的話免費, 但若用商業用途, 

需要有一定的速度品質保證, 這時候就有收費方案了. 

https://www.heroku.com/pricing


但這塊網路服務競爭也相當激烈, 如

AWS / Microsoft Azure / Google App engine

也有提供類似的服務. 


來做一個簡單的程式看看.

例如我們做一個用 github 與 Heroku 連結, 將 app 寫在 github, 傳給 Heroku 的方法. 

1. 環境設置,

    安裝 node / npm / nodemon 這些 node.js 會用到的

          npm install express

          npm install nodemon

    以及 git 這些 github 會用到的.


2.  local 端建立一個 github repository

     (1) npm init

     (2) package.json - github

         需要有 "start" , 否則 Heroku 執行會有問題



    (3) app.js - github

       程式很單純, http request 時, 回覆 "The world is so huge!"


       3. 先在 local 端看看能否執行

          nodemon app.js

執行會顯示:

$ nodemon app.js

[nodemon] 2.0.12

[nodemon] to restart at any time, enter `rs`

[nodemon] watching path(s): *.*

[nodemon] watching extensions: js,mjs,json

[nodemon] starting `node app.js`

Server started on port 5000

接著可以開 browser 連接 http://localhost:5000/

可以看到 browser 上顯示:
    The world is so huge!

(4)把整個程式放到 github - https://github.com/neojou/heroku_app


3. Heroku 
   (1) 註冊一個帳號並登錄 - https://signup.heroku.com/login
       ( 這個是免費的)
       ( 安全上用到 authenticator 登入 )

    (2) create new app


  (3) 在 Deploy 有個 Deploy method, 可以選 github

 (4) connect to github

     選擇上面做好的 repository , e.g. heroku_app, 按下 connect
     ( 第一次 Heroku 會要求 github 登入權限)

 (5) Enable Automatic Deploys

(6) Add build pack
    在 Setting 有個 Add build pack, 選 node.js, Save changes. 



   (7) Deploy branch
      回到 Deploy, 底下有一個 Deploy branch, 按下即會開始 build. 

build 完之後, 可以在 browser 上打 https://hugeworld.herokuapp.com/
即會出現 The world is so huge!

整個介面操作上還蠻方便的, 另外還有提供其他語言, 如 python / ruby/ go / ... 


留言

熱門文章