Ответ 1
Существует несколько способов сделать это.
Различные порты
Вы можете запускать каждый процесс Node.js на другом порту и просто открывать порты в мире. Однако вашим URL-адресам потребуется порт в конце имени хоста для каждого проекта. yoururl.com:8080/
будет технически работать, но, вероятно, не то, что вы ищете.
Несколько IP-адресов
Вы можете использовать несколько IP-адресов на одном экземпляре EC2, однако они поставляются с дополнительной стоимостью около 3,65 долл. США в месяц каждый. Так что если у вас есть 10 разных доменов, которые вы хотите разместить на одном экземпляре, то это более 30 долларов в месяц в качестве платы за хостинг.
С другой стороны, любой домен с использованием SSL нуждается в собственном IP-адресе.
Кроме того, существуют ограничения на количество IP-адресов, которые вы можете назначить экземпляру, и чем меньше экземпляр, тем меньше IP-адресов вы получить.
Количество IP-адресов, которые вы можете назначить, зависит от типа экземпляра. Небольшие экземпляры могут вмещать до 8 IP-адресов (через два эластичных сетевых интерфейса), в то время как High-Memory Quadruple Extra Large и Cluster Computer Восемь экземпляров Extra Large могут быть назначены до 240 IP-адресов (через 8 эластичных сетевых интерфейсов). Для получения дополнительной информации об ограничениях IP-адреса и эластичного сетевого интерфейса перейдите в раздел "Семьи и типы экземпляров" в Руководстве пользователя Amazon EC2.
Экспресс-хосты
Express имеет функциональность виртуального хоста. Вы можете запускать несколько доменов под одним сервером Node.js/Express и настраивать маршруты на основе имени домена. vhost
под Express позволяет это.
Обратный прокси
Вы можете настроить Nginx перед несколькими серверами приложений. Это имеет большую гибкость. У вас может быть один Node.js процесс для каждого домена, который позволяет вам выполнять обновления и перезапускаться в одном домене за раз. Он также позволяет размещать серверы приложений, такие как Apache/PHP, под тем же экземпляром EC2, что и ваш процесс Node.js.
Когда Nginx действует как обратный прокси-сервер, вы также можете размещать разные серверы приложений в одном домене, но обслуживать разные пути.
Например, Node.js может служить основным корневым путем для домена, но вы можете настроить путь /blog/
для перехода к установке Apache/PHP/Wordpress в том же экземпляре EC2.