2016-09-23 2 views
-2

두 개의 node.js 응용 프로그램이 동일한 서버에서 실행되고 있습니다. 포트 7777에서 수신 대기하는 하나의 응용 프로그램을 다시 시작하면 두 개의 다른 포트에서 실행 중이지만 포트 8044에서 실행중인 다른 응용 프로그램을 중지합니다. 이 문제를 어떻게 해결할 수 있습니까?하나의 응용 프로그램을 다시 시작하면 다른 응용 프로그램 node.js가 중지됩니다.

여기에 코드를

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; 

내가 다른 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 
+1

어떻게 다시 시작 하시겠습니까? –

+1

서버에서 앱을 어떻게 설정합니까? 어떻게 다시 시작 하시겠습니까? 세부 정보가 없으면 문제가 무엇인지 알 수 없습니다. –

+0

위의 코드를 추가했습니다. – Jasmine

답변

1

두 개의 서버를 시작하는 단일 노드 응용 프로그램 만 있습니다.

응용 프로그램을 다시 시작하면 실행중인 모든 서버가 다운됩니다.

두 번째 서버를 두 번째 서버에 독립적으로 제어 할 수있게하려면 실제로 두 번째 노드 응용 프로그램을 만들어야합니다.

+0

코드를 추가했습니다.하지만 한 서버를 다시 시작하면 두 번째 서버가 중지됩니다. – Jasmine

+0

@ Jasmine - 응용 프로그램에서 하나의 서버를 중지 할 수 없습니다. 응용 프로그램 만 중지 할 수 있습니다. 응용 프로그램을 두 개의 개별 응용 프로그램으로 분할해야합니다. 그래야만 다른 하나에 영향을 미치지 않고 하나를 제어 할 수 있습니다. –

관련 문제