Я установил и успешно установил работу экспресс-сервера с использованием 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'));