Есть ли какой-нибудь эквивалент php5-cgi для python?

nginx не позволяет напрямую запускать внешние программы, поэтому для запуска CGI необходимо запустить автономный бэкэнд fcgi и подключиться к нему с помощью fastcgi_pass директивы.

Для PHP это легко, например, с помощью spawn-fcgi а также php5-cgi, но я не нашел ничего похожего для Python.

Я знаю, что есть реализации fcgi для конкретных приложений и фреймворков, но есть ли что-нибудь для запуска простых CGI Python (CGI, реализованных с помощью универсального модуля cgi)?

2 ответа

Решение

Попробуйте http://projects.unbit.it/uwsgi/?

Там есть пакет, известный как flup, фактически предложенный официальной документацией Python. В принципе, flup позволяет вам обернуть любое приложение (в вашем случае, CGI-скрипт) на сервере WSGI. Это может потребовать некоторой настройки, но оно должно дать вам то, что вы ищете.

В документации по nginx есть несколько замечательных статей, посвященных этой проблеме.

Также обратите внимание, что акт простого запуска скриптов Python (через mod_cgi или же mod_cgid) явно НЕ использует FCGI, поэтому без обертки вокруг вашего скрипта это будет невозможно.

Надеюсь, это поможет!

Другие вопросы по тегам