Вот сценарий для системы, где я пытаюсь понять, что к чему:
Я Джо, начинающий программист, и я на мели. У меня есть приложение Flask и одна физическая машина. Поскольку я разорился, я не могу позволить себе еще одну машину для каждой части моей системы, поэтому веб-сервер, приложение и база данных живут на одной моей машине.
Я никогда раньше не развертывал приложение, но знаю, что сервер может относиться к машине или программному обеспечению. С этого момента давайте назовем физическую машину Стойкой. Я загрузил экземпляр MongoDB на свой компьютер и знаю, что это сервер базы данных. Чтобы обрабатывать запросы API, мне нужно что-то на стойке, которое будет обрабатывать запросы HTTP/S, поэтому я устанавливаю и запускаю на нем экземпляр NGINX, и я знаю, что это веб-сервер. Однако мой веб-сервер не знает, как запустить приложение, поэтому я провел небольшое исследование и узнал о WSGI и пришел к выводу, что мне нужен еще один компонент. Поэтому я устанавливаю и запускаю экземпляр Gunicorn и знаю, что это сервер WSGI.
На данный момент у меня есть стойка, в которой находится веб-сервер для обработки вызовов API (действительно просто действует как обратный прокси-сервер и отправляет запросы на сервер WSGI), сервер WSGI, который обслуживает динамический контент из моего приложения и сервер базы данных. в котором хранится информация о клиенте, используемая приложением.
Я думаю, что у меня все в порядке, а потом мой друг спрашивает: "Где ваш сервер приложений?"
Есть ли сервер приложений такой конфигурации? Нужен ли он мне?