在 Heroku 上開發、部署Node程序的快速指南

嘗試使用了下Heroku, 在上面部署 Node 程序仍是很方便的, 主要優點在於它的網絡能夠訪問到外網, 具體應用都懂得

這裏記錄下如何在 Heroku 上建立、開發、部署 Node node

官方的文檔在這裏git

安裝 Heroku cli

其他的訪問 下載地址web

建立一個 Express 應用

使用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

在 Heroku 上建立項目

進入咱們剛剛新建的項目, 運行 create 指令建立項目json

heroku create [your_app_name]

運行完成後, Heroku 會在咱們的項目上新建一個git 的遠程分支, 同時會爲項目建立一個域名供咱們訪問windows

這裏是個人運行結果運行結果bash

在 Heroku 上部署應用

部署以前咱們須要建立一個相似啓動腳本的文件 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 給的網址, 就能夠看到程序已經運行

定義程序依賴和運行變量

  1. 經過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 版本

  2. 定義運行變量

    1. 本地運行變量

      本地使用 .env 文件來定義變量, 格式以下

      NAME=VALUE

      使用 heroku local web 來啓動本地開發服務器, 同時會將變量信息注入到process.env

    2. 容器運行變量

      容器的運行變量須要經過 heroku config:set NAME=VALUE來設置

      使用 heroku config來查看變量

    詳細信息 Configuration and Config Vars

與容器進行遠程交互

  1. 查看運行日誌

    heroku logs --tail
  2. 在容器中運行命令 heroku run command

    1. heroku run node 進入Node 的 REPL
    2. heroku run bash 進去容器運行bash

其餘

Heroku 的免費版本每一個月提供了 550 小時的使用時間, 當咱們的程序半個小時內沒有訪問流量時就會被休眠掉, 在下次被訪問的時候激活

因此長時間沒有訪問的應用, 在第一次訪問會很慢, 不過也就夠用了

我也將這篇文章部署在這個應用上, https://lleohao-heroku-expres...

相關文章
相關標籤/搜索