Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在本地和hereko服务器上使用命令行运行多节点js服务。?_Javascript_Node.js_Heroku - Fatal编程技术网

Javascript 如何在本地和hereko服务器上使用命令行运行多节点js服务。?

Javascript 如何在本地和hereko服务器上使用命令行运行多节点js服务。?,javascript,node.js,heroku,Javascript,Node.js,Heroku,我的node js应用程序中有多个服务,如下所示 .git domain public view .gitingore service1.js service2.js service3.js package.json package-lock.json Procfile README.md service1.jscode var port = process.env.PORT_SERVICE1 || 8001; ..... ..... ..... var por

我的node js应用程序中有多个服务,如下所示

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

var port = process.env.PORT_SERVICE1 || 8001;
 .....
 .....
 .....
 var port = process.env.PORT_SERVICE2 || 8002;
 .....
 .....
 .....
var port = process.env.PORT_SERVICE3 || 8003;
 .....
 .....
 .....
service2.js
code

var port = process.env.PORT_SERVICE1 || 8001;
 .....
 .....
 .....
 var port = process.env.PORT_SERVICE2 || 8002;
 .....
 .....
 .....
var port = process.env.PORT_SERVICE3 || 8003;
 .....
 .....
 .....
service3.js
code

var port = process.env.PORT_SERVICE1 || 8001;
 .....
 .....
 .....
 var port = process.env.PORT_SERVICE2 || 8002;
 .....
 .....
 .....
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中配置相同的文件。但是不能设置它吗

如何为node js中的所有服务设置不同的端口并运行它们?

我建议您使用

它允许您创建复杂的配置文件,该文件将使用您提供的配置启动所有应用程序

下面是一个如何使用配置文件运行多个应用程序的示例

module.exports={
应用程序:[{
名称:“服务1”,
脚本:“./services/sevice1”,
手表:没错,
环境:{
节点_ENV:“开发”,
},
环境生产:{
节点_ENV:'生产',
},
}, {
名称:“服务2”,
脚本:“./services/sevice2”,
手表:没错,
环境:{
节点_ENV:“开发”,
},
环境生产:{
节点_ENV:'生产',
},
}],
};
说到赫罗库。PM2提供了更多的信息。
希望这个有帮助

@number16布舍尔特提出了一个好的选择。但是如果你想快速完成,那么选择下面的选项

在proc文件中添加以下代码:

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

参考:

但它使用相同的端口。我希望所有3个服务都在不同的端口上运行。您可以执行类似的操作。使用docker,ReverseProxy我想在3个不同的端口上启动3个服务。是否可以使用上述PM2模块..?当然可以!您所需要做的就是向env提供所需的端口。