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