前言:
本來打算將自己搭建的博客部署到heroku上的,用的是mongolab;無奈,雖然heroku對於mongolab的add-ons是免費的,但必須進行信用卡確認。對於我這種學生仔,哪來的信用卡。。。不想使用heroku上免費的postgres database,只能放棄heroku了,改用阿里雲。部署了一天,現在來記錄一下heroku的使用吧。說不定以后能用上呢。
什么是heroku
Heroku是一個支持多種編程語言的PaaS(雲平台即服務)。目前heroku支持Ruby, Node.js,Java,Python,PHP,Go,Scala,Clojure,本文以Node.js為例;heroku應用的部署是基於git的,官方提供了 Heroku Toolbelt 工具,更方便地部署和管理應用。
注冊
在官網注冊賬號。
安裝
下載安裝 Heroku Toolbelt.
https://devcenter.heroku.com/articles/getting-started-with-nodejs#set-up
安裝完成之后,就可以在 cmd 或者 git bash 中使用 heroku 命令了。
登錄
打開 cmd 或 git bash,輸入 heroku login 登錄
另外,heroku客戶端會自動上傳你的公鑰。如果沒有公鑰,它會自動創建一對密鑰,然后上傳,保留密鑰。
創建app
(一)
登錄之后,可以通過這個 heroku 客戶端創建 app。
heroku create appName
當然,所創建的app必須唯一。
(二)
也可以在注冊之后,進入的控制面板頁面中,點擊 Create a new app 創建app。
訪問
(一)
在 git bash 中輸入 heroku open,啟動應用,會自動在瀏覽器中打開應用的主頁。
(二)
通過 應用名稱.herokuapp.com 訪問應用的主頁。
好啦,現在可以愉快開始搭建 app 啦。
上傳
在本地創建新項目,打開 git bash,其實就相當於將代碼上傳到 heroku 這個倉庫上,步驟和上傳代碼到普通倉庫一樣。
如果是在控制面板頁面中創建的項目,可以通過 git 將 clone 下來,
編寫代碼,再將代碼 push 到 heroku master 上。
push 之后,heroku 會根據項目根目錄中的 package.json 中的內容,
如果啟動應用,頁面中出現 Application Error,可以通過 heroku logs 查看日志。
Procfile
在項目的根目錄中,新建名為 procfile 的文件,添加一下代碼:
app.js 為項目的啟動文件。
Procfile 文件用來聲明應用如何在服務器中運行,這里通過 node app.js
執行 Node 腳本。
為什么是 web 類型,web 聲明該進程能夠綁定到 heroku 的 HTTP 路由協議棧中,並且在部署之后接受網絡流量。
關於 Procfile 更多的資料請看官網教程。