在单个服务器上运行和管理nodejs应用程序

Rya*_*her 14 node.js

有没有一种在单个服务器上运行和管理多个nodejs应用程序的好方法?

我一直在关注haibunodester,但是对于我想要做的事情,它们看起来有点复杂.

我也一直在寻找永远的,我认为这可能与配置文件和Web GUI工作,但我不知道我会如何处理传递通过ENV或参数的端口信息.

FGR*_*eau 6

我在这里使用Supervisord&Monit,更多细节和配置示例:Bringr的流程管理.

此外,您可以直接从supervisord配置文件中指定environnement变量(请参阅子流程环境).但我个人更喜欢直接在每台机器的〜/ .bashrc中添加这些变量.

如果每个应用程序的端口号都不会更改(但在生产和开发环境之间进行更改).我建议在config.json(或直接在package.json中)指定它们.并且config.json将为每个应用程序包含一个不同的端口号,具体取决于环境:

{
 myapp:{
  production:{port:8080},
  development:{port:3000}
 }
}
Run Code Online (Sandbox Code Playgroud)

内部myapp.js:

 var config = require('./config');
 app.listen(config.myapp[process.env.NODE_ENV].port)
Run Code Online (Sandbox Code Playgroud)

随着process.env.NODE_ENV在〜/ .bashrc声明.