Я занимаюсь веб-службой. Моя система выглядит так:
Клиентский запрос → Веб-сервер (Apache) → Сервер приложений (Python)
Я использовал WSGI для связи между Apache и Python.
Мой вопрос, как я могу отделить веб-сервер и сервер приложений. На данный момент я должен запускать их на одном сервере.
WSGI не является сетевым протоколом, поэтому вам придется запускать веб-сервер перед вашим приложением, даже если он действует только как контейнер WSGI. Прокси-соединения с вашего основного веб-сервера в контейнер WSGI с помощью mod_proxy.
+1 для ответа Игнасио.
Также обратите внимание, что разделение приложения WSGI с сервера потеряет одно из основных преимуществ WSGI (сервер вызывает приложение wsgi напрямую). Кроме того, приложения WSGI имеют ответный ответ, предназначенный для прямой связи с сервером.
Вместо того, чтобы развязать сервер из приложения, считаете ли вы, что они спариваются вместе и реплицируют их через несколько пар серверов/приложений, используя nginx и/или haproxy для разделения и загрузки запросов баланса? Я считаю, что это обычное решение проблем с загрузкой.