因為在找有沒有地方可以放自己寫的程式,所以找上了Heroku,而且為了申請主機、網域和轉移原本的wordpress到自己的主機花了不少時間,原本給wordpress管會沒辦法裝插件,就決定來搬一下家了。
準備
首先,請到Heroku官方網站申請帳號
然後安裝Heroku Toolbelt
部署步驟
- 建立package.json
- 建立procfile
- 利用Heroku Toolbelt部署App
1. 建立package.json
首先到我們的專案,用指令建立package.json檔
npm init
接著開啟package.json檔案
在裡面加入以下:
"engines": {
"node":"4.2.2"
}
這一段代表我們的app要運行在哪一個node.js版本上
2. 建立procfile
我們在專案的根目錄下建立一個名稱為「procfile」的檔案,這個檔案的目的是告訴node.js該如何執行我們的程式,例如:
web: node.js
這邊還沒有暸解太多,先留個位置之後再補充
3.利用Heroku Toolbelt部署App
先來解說一下原理,Heroku的是利用git來部署的,我們本地端的程式完成後,利用git push到Heroku的remote repo,然後Heroku就會執行我們的程式。
這邊補充一下,Heroku會自動依據我們package.json的內容,安裝我們「執行」所需要的Module(不包含dev),請記得在.gitignore加入node module資料夾喔。
A. 登入Heroku
首先我們要先在終端機登入我們的Heroku帳號
heroku login
如果對指令有疑惑,可以輸入以下獲得幫助
heroku help
heroku help apps
B. 建立Heroku App
我們要用Heroku指令為我們的專案建立一個名為「heroku」的remote
heroku apps:create [App Name]
C. 更改執行的port
這邊因為自己遇到的問題所以補充一下,Heroku預設會執行在port5000上,而且真正部署後的port也會不一樣,但是如果我們的port寫死在1337,那麼部署之後就必須到1337去找,會出問題,解決的方式很簡單,把port變數改成:
var port = process.env.PORT || 1337;
如果env的port是有東西的就用,沒有就用1337,這樣就可以對應到Heroku給的port了。
D. Push到Heroku Remote
在push之前,我們先在本地端測試一下
heroku local
然後把該commit的處理好,最後push到Heroku上
git push heroku master
接著就會看到一連串處理訊息,完畢之後輸入
heroku open
或者輸入網址
http://<App Name>.herokuapp.com
就可以開啟我們的App了!
預告:下一次會介紹Heroku插件 – Mongolab
2016-08-15 at 下午 4:12
如果是要寫 blog,用 Node 的話可以考慮看看這套 static website generator:
https://hexo.io
2016-08-17 at 下午 2:42
謝謝補充!我現在自己是用 MWeb ,這套要花COCO,但是可以和WordPress 連動直接上傳 Markdown 轉換後的文章,之後再來寫一篇正在用的工具!