Несколько уникальных веб-серверов nodejs, работающих на одном компьютере

У меня есть несколько веб-серверов, работающих на машине, и в настоящее время, чтобы выбрать, какой веб-сайт вы хотите обслуживать, вы должны переключить порт, к которому вы подключаетесь (домен: 8000, домен: 8001), однако мне действительно не нравится это решение . Моя цель - иметь возможность подключаться через домен/процесс1, домен/процесс2, однако проблема в том, что DNS всегда собирается подключаться к домену: 80, а затем передавать маршрут для экспресса (что я использую для серверов)

Я знаю, что могу использовать экспресс, чтобы контролировать, какой код запускается с использованием

app.get('/process1', (req, res)=>{
   process1.getRequest(req, res);
   next();
});
app.get('/process2', (req, res)=>{
   process2.getRequest(req, res);
   next();
});

Однако для этого требуется, чтобы все мои процессы выполнялись в одном экземпляре nodejs. Я надеюсь, что мне не придется изменять ни один из моих текущих веб-серверов, а просто создать один новый процесс, который будет работать на порту 80 и перенаправлять трафик на разные локальные порты в зависимости от маршрута.

Однако я видел этот вопрос у них есть несколько доменов, а у меня только один домен. Я также немного читал об обратном прокси/nginx, если это вообще возможно, я хотел бы остаться в nodejs. Можно ли создать собственный обратный прокси в узле?


person Strike Eagle    schedule 09.01.2020    source источник


Ответы (1)


Вы можете иметь один домен и по-прежнему использовать обратный прокси-сервер, такой как nginx.

Взгляните на эту статью https://medium.com/@samanbaboli/how-to-load-balancing-nodejs-apps-using-nginx-a3b4ceb7c782.

Ps: вам не нужно платить за использование nginx. https://www.nginx.com/resources/wiki/

person Thierno Barry    schedule 09.01.2020
comment
Приятно знать, что nginx бесплатен, однако для меня оптимальным вариантом будет тот, который я могу выполнить для установки новых сервисов на свою машину. Могу ли я как-то создать свой обратный прокси-сервер в nodejs или с помощью встроенных инструментов в Linux (ubuntu)? - person Strike Eagle; 09.01.2020