Есть ли какой-нибудь эквивалент php5-cgi для python?
nginx не позволяет напрямую запускать внешние программы, поэтому для запуска CGI необходимо запустить автономный бэкэнд fcgi и подключиться к нему с помощью fastcgi_pass
директивы.
Для PHP это легко, например, с помощью spawn-fcgi
а также php5-cgi
, но я не нашел ничего похожего для Python.
Я знаю, что есть реализации fcgi для конкретных приложений и фреймворков, но есть ли что-нибудь для запуска простых CGI Python (CGI, реализованных с помощью универсального модуля cgi)?
2 ответа
Там есть пакет, известный как flup
, фактически предложенный официальной документацией Python. В принципе, flup
позволяет вам обернуть любое приложение (в вашем случае, CGI-скрипт) на сервере WSGI. Это может потребовать некоторой настройки, но оно должно дать вам то, что вы ищете.
В документации по nginx есть несколько замечательных статей, посвященных этой проблеме.
Также обратите внимание, что акт простого запуска скриптов Python (через mod_cgi
или же mod_cgid
) явно НЕ использует FCGI, поэтому без обертки вокруг вашего скрипта это будет невозможно.
Надеюсь, это поможет!