Использование двух разных портов для одного и того же приложения Node-Express - PullRequest
0 голосов
/ 07 октября 2018

Я установил и успешно установил работу экспресс-сервера с использованием httpsServer.listen(4000, () => console.log('Express HTTPS Server running on 4000')); в server.js.Он работает нормально, и код, который я использую для этого файла, приведен ниже.

Проблема, с которой я сталкиваюсь, заключается в том, что я создаю второй файл сервера, используя ту же структуру кода, но слушая любой другой порт отдельноот 4000. Второй сервер обращается к другой базе данных Mongo, и если я попытаюсь запустить оба одновременно и использовать для нового порта сервера 4001, 3000, 4100 и т. д., будет работать только исходный сервер (на порту 4000).

Если я поменяю серверы так, чтобы новый сервер находился на порте 4000, а другой старый сервер на другом порту, то новый сервер работал, а старый сервер не работал.

При использовании порта, отличного от 4000для второго сервера он отображает сообщение об успешном соединении на консоли, но зависает при переходе на нужную страницу через браузер.

Я пытаюсь выяснить, является ли:) Это лучший способ доступа2 разные базы данных для одного и того же приложения Node, или я должен использовать что-то вроде createConnection(), и б) если я собираюсь использовать два разных серверных файла, как я пытаюсьдо сих пор, как я могу использовать порт, отличный от 4000 для нового сервера?

import express from 'express';
import cors from 'cors';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';

import Asset from './models/Asset';
import Marketstat from './models/Marketstat';

var fs = require('fs');
var https = require('https');
var privateKey  = fs.readFileSync(privkey, 'utf8');
var certificate = fs.readFileSync(fullchain, 'utf8');

var credentials = {key: privateKey, cert: certificate};

const app = express();
const router = express.Router();

app.use(cors());
app.use(bodyParser.json());

mongoose.connect('mongodb://user:pass@localhost:27017/db?authSource=admin', { useNewUrlParser: true }); 

const connection = mongoose.connection;

connection.once('open', () => {
console.log('Mongo Database Connection Successful');
});

router.route('/assets').get((req,res) => {
    Asset.find((err, assets) => {
        if (err)
        console.log(err)
    else
        res.json(assets)
    })
})

router.route('/marketstats').get((req,res) => {
Marketstat.find((err, mstat) => {
    if (err)
        console.log(err)
    else
        res.json(mstat)
})
})

app.use('/', router);

var httpsServer = https.createServer(credentials, app);

httpsServer.listen(4000, () => console.log('Express HTTPS Server running on 4000'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...