Могу ли я разместить node.js и Django на одном сервере?

У меня только один хостинг VPS и я использую nginx для веб-приложения Django. Теперь я готовлюсь к запуску нового приложения с Node.js и могу ли я разместить его на текущем сервере? Я думаю, что на Node.js работает собственный http-сервер, и он может конфликтовать с nginx-сервером.


person saturngod    schedule 19.05.2011    source источник
comment
Вам нужно убедиться, что они прослушивают разные порты, но в противном случае они не должны конфликтовать.   -  person leek    schedule 19.05.2011


Ответы (2)


Вы можете разместить несколько HTTP-серверов на одном VPS. Конфликт произойдет, только если оба, nginx и node.js, привязаны к одному и тому же порту. Например, если ваш веб-сервер nginx прослушивает порт 80, тогда ваш HTTP-сервер node.js должен прослушивать другой порт, кроме 80, скажем, порт 8080. Вы также можете настроить обратный прокси (на случай, если вам нужно абстрагироваться от внутренней сети и обслуживать клиентов на том же порту), где вы будете принимать входящие соединения на порт 80, а nginx будет пересылать сообщения специфично для node.js на порт 8080.

person yojimbo87    schedule 19.05.2011
comment
Обратите внимание, что многие корпоративные брандмауэры блокируют все, кроме 80 и 443 (http (s)) и, возможно, некоторые порты электронной почты. В этом случае, вероятно, лучшим решением будет использование второго IP-адреса. - person Husky; 03.07.2011
comment
Нет необходимости в нескольких IP-адресах, можно легко использовать виртуальные хосты с прокси. Таким образом, у вас будет node, работающий на 8080 внутренне, а затем прокси-порт 80 для этого vhost в nginx для node. - person Mark Shust at M.academy; 23.11.2013

Если у вас несколько IP-адресов, вы можете настроить nginx для прослушивания порта 80 IP1 и nodejs на порт 80 IP2, если это не так (у вас только один IP-адрес), вам может потребоваться использовать разные порты для каждого веб-сервера.

person Bucanero    schedule 20.05.2011