繁体   English   中英

重新启动一个应用程序时,停止另一个应用程序 node.js

[英]When restart one app, stops another app node.js

我有两个 node.js 应用程序在同一台服务器上运行。 当我重新启动一个监听端口 7777 的应用程序时,它会停止在端口 8044 上运行的另一个应用程序,即使它们在两个不同的端口上运行。 我怎样才能解决这个问题?

这是代码

aut/app.js:

var http = require('http');
var express = require('express'),
    testsConfig = require('./config/testsConfig');
var bodyParser = require('body-parser');

var app = express();

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());

app.get('/', function (req, res, next) {
    console.log('ROOT');
    res.sendStatus(200);
});

app.post('/aut', function (req, res, next) {
    if (req.body && req.body.secret && req.body.secret == "danzellovestodance") {
        res.send(testsConfig);
    } else {
        res.sendStatus(500);
    }
});


module.exports = app;

应用程序.js

var express = require('express');
var http = require('http');
var webhook = require('./git-webhook/app');
var aut = require('./aut/app');
http.createServer(webhook).listen(7777);
http.createServer(aut).listen(8044);

我曾经将每台服务器分成不同的 app.js 文件,但是当我启动一台服务器时,它停止了另一台

if [ "$1" = "start" ]; then
  forever start -l /opt/aut.log -a /opt/aut/app.js
  echo "Started"
elif [ "$1" = "stop" ]; then
  forever stopall
  echo "Stopped"
elif [ "$1" = "restart" ]; then
  forever stopall
  forever start -l /opt/aut.log -a /opt/aut/app.js
  echo "Restarted"
elif [[ "$1" = "logs" || "$1" = "log" ]]; then
  tail -f /opt/aut.log
else
  echo 'Invalid command. You can only use "start", "stop", "restart", or "logs"'
fi

问题是您只有一个 Node 应用程序来启动两个服务器。

当您重新启动应用程序时,它会关闭它正在运行的所有服务器。

如果您希望它们能够独立控制,您实际上必须为第二个服务器创建第二个 Node 应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM