Да, вы можете развернуть несколько служб на одном сервере, они просто должны прослушивать разные порты.
Например, давайте рассмотрим, что сервер MongoDB работает на порту 27017
, сервер Node.js http работает на порту 5000
, а приложение React работает на порту 8000
.
Скажем, IP-адрес вашего сервера 13.13.13.13
.
Затем вы можете получить доступ к вашему серверу MongoDB, Node.js http-серверу и приложению React, используя 13.13.13.13:27017
, 13.13.13.13:5000
и 13.13.13.13:8000
соответственно, из любой точки Inte rnet, где ваш IP не заблокирован .
Теперь на вашем сервере вы настроили iptables
для переадресации всех входящих соединений с порта 8000
на 80
. Теперь вы можете получить доступ к своему приложению React, посетив 13.13.13.13
, больше не нужно использовать порт.
Теперь, скажем, вы добавляете записи DNS для example.com
и api.example.com
, чтобы указывать на ваш IP , А поскольку у вас не может быть A
записей или CNAME
записей, указывающих на порт, оба ваших домена перенаправят вас в ваше приложение React. Вам нужно будет явно указать номер порта вместе с вашим доменом, если вы хотите получить доступ к своему Node.js бэкенду, например http://example.com:5000
или http://api.example.com:5000
.
Если вы не хотите получать доступ к вашему бэкэнду бэкэнд, используя номер порта, вы можете использовать Nginx в качестве обратного прокси. Вы можете настроить Nginx для маршрутизации всех траффиков c на api.example.com
на ваш внутренний сервер, прослушивающий localhost:5000
.