У меня есть сайт example.com, который работает с «нормальным» веб-сервером, то есть на данный момент Apache, но в будущем я ищу альтернативу с меньшим объемом оперативной памяти, поэтому мне не нужен mod_WSGI на apache.
Вскоре я собираюсь развернуть веб-приложение, работающее на сервере приложений python. Я хочу, чтобы это отвечало на все запросы example.com/reallycoolpythonwebapp/, а веб-сервер следил за остальным.
Как создается такая архитектура? Я надеюсь, что указатели на соответствующие онлайн-документы приветствуются.
вы должны запустить свой сервер python на другом порту, а затем использовать функцию обратного прокси-сервера Apache (или любого достойного веб-сервера, такого как nginx и т. д.) для обратного прокси-сервера любых запросов, например / com / reallycoolpythonwebapp, на сервер приложений python.
это также будет казаться прозрачным для пользователя
некоторая конфигурация apache в vhost example.com может выглядеть так, если mod_proxy установлен и включен
ProxyPass /reallycoolpythonwebapp/ http://localhost:3000/
ProxyPassReverse /reallycoolpythonwebapp/ http://localhost:3000/
<Proxy *>
allow from all
</Proxy>
Я бы, вероятно, настроил Apache для прокси-запросов на localhost: xyz (или любой другой хост / порт, который будет прослушивать ваше приложение python), когда запрос соответствует example.com/reallycoolpythonwebapp/
Вы должны иметь возможность осуществить это с помощью комбинации mod_rewrite (чтобы соответствовать целевому URL) и mod_proxy.
Соответствующие документы Apache:
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule
В частности, во втором обратите внимание на записи таблицы для:
^ / somepath (. *) {url1} $ 1 [P] {url2}
Самый распространенный ответ - прокси. Для начинающих mod_proxy
(http://httpd.apache.org/docs/2.2/mod/mod_proxy.html).