2016-09-23 4 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

Проблема в том, что у вас есть только одно приложение Node, которое запускает два сервера.

При перезапуске приложения он удаляет все серверы, на которых он запущен.

Вам нужно будет создать второе приложение для второго сервера, если вы хотите, чтобы их можно было контролировать независимо.

+0

Я пробовал это, но если я перезапущу один сервер, он остановит второй – Jasmine

+0

@Jasmine - Вы не можете просто остановить один сервер в приложении. Вы можете остановить приложение. Вам необходимо разделить приложение на два отдельных приложения. Только тогда вы сможете управлять им, не затрагивая другого. –

Смежные вопросы