嘗試使用了下Heroku, 在上面部署 Node 程序仍是很方便的, 主要優點在於它的網絡能夠訪問到外網, 具體應用都懂得這裏記錄下如何在 Heroku 上建立、開發、部署 Node node
官方的文檔在這裏git
其他的訪問 下載地址web
使用Yeoman
和generator-express
來快速建立一個 Express 應用shell
// 安裝 yeoman npm install -g yo // 安裝 generator-express npm install -g generator-express // 新建項目文件夾 mkdir heroku-express cd heroku-express git init // 建立項目 yo express // 提交代碼 git add . git commit -m "Init project"
測試一下剛剛建立的項目express
// 啓動 Express npm start
訪問 http://localhost:3000/ 查看 Express 是否成功啓動npm
進入咱們剛剛新建的項目, 運行 create
指令建立項目json
heroku create [your_app_name]
運行完成後, Heroku 會在咱們的項目上新建一個git
的遠程分支, 同時會爲項目建立一個域名供咱們訪問windows
這裏是個人運行結果bash
部署以前咱們須要建立一個相似啓動腳本的文件 Procfile
服務器
// Profile web: node ./bin/www
這個文件告訴 Heroku
須要建立一個web 容器, 同時執行 node ./bin/www
來啓動程序
咱們的項目只須要這樣就能夠了, 更多的詳細信息在這裏 Process Types and the Procfile
而後將剛剛的改動提交, 同時推送的 Heroku
git add . git ci -m "Add procfile" git push heroku master
當你將代碼推送到 Heroku 的 master 分支上時, 它就會根據package.json
中的內容安裝所須要的依賴, 而後執行 Procfile
中的內容, 這就完成的程序的部署
這裏是個人部署結果
而後你在訪問剛剛 Heroku 給的網址, 就能夠看到程序已經運行
經過package.json
定義程序依賴
{ "name": "heroku-express", "version": "0.0.1", ... "dependencies": { "express": "^4.13.3", "serve-favicon": "^2.3.0", "morgan": "^1.6.1", "cookie-parser": "^1.3.3", "body-parser": "^1.13.3", "swig": "^1.4.2" }, ... "engines": { "node": "^8.3.0" } }
dependencies 字段定義程序依賴
engines 字段定義須要的 Node 版本
定義運行變量
本地運行變量
本地使用 .env
文件來定義變量, 格式以下
NAME=VALUE
使用 heroku local web
來啓動本地開發服務器, 同時會將變量信息注入到process.env
中
容器的運行變量須要經過 heroku config:set NAME=VALUE
來設置
使用 heroku config
來查看變量
詳細信息 Configuration and Config Vars
查看運行日誌
heroku logs --tail
在容器中運行命令 heroku run command
heroku run node
進入Node 的 REPLheroku run bash
進去容器運行bashHeroku 的免費版本每一個月提供了 550 小時的使用時間, 當咱們的程序半個小時內沒有訪問流量時就會被休眠掉, 在下次被訪問的時候激活
因此長時間沒有訪問的應用, 在第一次訪問會很慢, 不過也就夠用了
我也將這篇文章部署在這個應用上, https://lleohao-heroku-expres...