Назад | Перейти на главную страницу

как я могу запустить несколько веб-серверов с разными технологиями на одном сервере / одном порту?

У меня есть машина ubuntu на hetzner.de, где я размещаю все свои услуги, включая

я. Мультисайтовый wordpress (Несколько веб-сайтов работают здесь на одном экземпляре wordpress на порту 80

II. Экземпляр Jira в настоящее время работает на порту, отличном от 80 (например, 8084)

iii. Tomcat, на котором размещено мое пользовательское приложение на другом порту, и так далее.

Мне нужно сопоставить uri так, чтобы все эти службы были доступны через один порт 80. например

предполагая, что мой домен xyz.com указывает на эту машину, я хотел бы получить доступ ко всем своим службам, таким как

xyz.com/wordpress1 xyz.com/wordpress2 xyz.com/tomcat/web1 xyz.com/jira

Есть какие-нибудь подсказки, как я могу этого добиться?

IMO, самый простой способ реализовать это с помощью HAProxy с использованием URI ACL. Вы можете настроить серверные приложения для прослушивания портов, отличных от 80, и сделать так, чтобы HAPROXY прослушивал 80. Затем маршрутизируйте запросы на основе запросов URI (например, site.com/URI), но, как указано, ваше приложение должно знать путь URI. , Если он не знает, то поддомены были бы способом с DOMAIN ACL.

Только одно программное обеспечение может подключаться к определенному порту в любое время.

Nginx (и Apache) можно использовать как обратный прокси. Не всем приложениям нравится жить в подкаталогах, разработчик должен это учитывать.

Если у вас есть доступ к DNS, вы можете решить эту проблему, используя поддомены.

вот пример с поддоменами https://stackoverflow.com/questions/13240840/nginx-reverse-proxy-multiple-backends

здесь с subdirs, что вы просили nginx proxy_pass с использованием подпапки

Используйте Apache или nginx в качестве обратный прокси.