Можно ли на один VPS поставить несколько сервисов? Можно, все так делают — у меня на личном VPS крутятся таск-трекер, бот в Telegram, пара пет-проектов и Grafana, чтобы за всем этим следить. Однако немногие знают, как это сделать правильно, поэтому рассказываю под катом.
VPS — это машина с root-доступом, поэтому ничего не мешает запускать на ней хоть десять проектов одновременно, были бы ресурсы. Весь веб-хостинг девяностых, кстати, начался ровно с этого — в 1996 году Apache научился отдавать разные сайты по разным доменным именам с одного сервера. В связи с этим сразу перехожу к вопросу «Как?».
HTTP-запрос содержит доменное имя внутри, в заголовке Host. Когда пользователь открывает tracker.example.com и bot.example.com, оба запроса прилетают на один IP и один порт 443, но с разными именами. Значит, на входе нужен диспетчер — это называется обратный прокси. Сразу отмечу, не копируйте слепо мои команды, они с моими примерами, адаптируйте или адаптируйтесь.
Способ первый. Диспетчер на входе