簡體   English   中英

如何在本地和 hereko 服務器上使用命令行運行多個節點 js 服務。?

[英]How to run multiple node js services using command line on local and hereko server.?

我的節點 js 應用程序中有多項服務,如下所示

.git
 domain
 public
 view
 .gitingore
 service1.js
 service2.js
 service3.js
 package.json
 package-lock.json
 Procfile
 README.md

service1.js代碼

var port = process.env.PORT_SERVICE1 || 8001;
 .....
 .....
 .....

service2.js代碼

 var port = process.env.PORT_SERVICE2 || 8002;
 .....
 .....
 .....

service3.js代碼

var port = process.env.PORT_SERVICE3 || 8003;
 .....
 .....
 .....

目前我在 windows 上運行以上 3 個服務,如下所示..

 set PORT_SERVICE1 = 8001
 set PORT_SERVICE2 = 8002
 set PORT_SERVICE3 = 8003

並打開 3 個不同的命令提示符來運行所有服務

 node service1.js
 node service2.js
 node service3.js

我想在 heroko Procfile 文件中進行相同的配置。 但無法設置?

如何為節點js中的所有服務設置不同的端口並全部運行?

我建議你使用PM2

它允許您創建復雜的配置文件,該文件將使用您提供的配置啟動所有應用程序。

這是一個如何使用配置文件運行多個應用程序的示例

module.exports = {
  apps: [{
      name: 'sevice1',
      script: './services/sevice1',
      watch: true,
      env: {
        NODE_ENV: 'development',
      },
      env_production: {
        NODE_ENV: 'production',
      },
    }, {
      name: 'sevice2',
      script: './services/sevice2',
      watch: true,
      env: {
        NODE_ENV: 'development',
      },
      env_production: {
        NODE_ENV: 'production',
      },
    }],
};

說到Heroku。 PM2 提供Heroku 集成 希望這個有幫助!

@number16BusShelter 提出了一個不錯的選擇。 但是,如果您想快速完成,那么 go 可以選擇以下選項。

在您的 Procfile 中添加以下代碼:

web: node service1.js && node service2.js && node service3.js

參考: Heroku

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM