Назад | Перейти на главную страницу

Конфигурация uwsgi с Nginx, со скриптами python как cgi - 502 Bad Gateway

Это мой файл .ini для запуска uwsgi "pyApp.py"

[uwsgi]
plugins = cgi
socket = 127.0.0.1:9010
cgi = /=/usr/share/test/
cgi-allowed-ext = .py
cgi-helper = .py=python

у меня есть файл firstapp.py по адресу /usr/share/test/firstapp.py Его содержимое

#!/usr/bin/python
print "Content-type: text/html\n\n"
print "<html><body><h1>It works! Cool!!</h1></body></html>"

Я запускаю экземпляр uwsgi с командой

uwsgi --http :9011 --http-modifier1 9 --ini pyApp.ini --master

Я настроил несколько хостов с помощью nginx. и один из них должен указывать на каталог / usr / share / test /, если в нем есть URL-адрес, содержащий "/ cgi-bin /".

Конфигурация nginx - [также единственная по умолчанию среди других]

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/pythonsite.com/html;
        index index.html index.htm;

        server_name pythonsite.com www.pythonsite.com;

        location / {
                try_files $uri $uri/ =404;
        }

        location /cgi-bin {
                include uwsgi_params;
                uwsgi_modifier1 9;
                uwsgi_pass 127.0.0.1:9010;
        }
}

Но когда я пытаюсь получить доступ к сценарию "cgi" из браузера через URL-адрес

http://pythonsite.com/cgi-bin/firstapp.py

URL-адрес по умолчанию "pythonsite.com", кажется, работает нормально, но в приведенном выше URl с "cgi-bin" что-то не хватает. Я получаю сообщение «502 Bad Gateway». Что мне не хватает. Для того, чтобы использовать скрипты Python таким образом?

РЕДАКТИРОВАТЬ:

Кроме того, каждый раз, когда я запрашиваю URL http://pythonsite.com/cgi-bin/firstapp.py"в браузере на экземпляре сервера uwsgi есть журнал, в котором

-- unavailable modifier requested: 9 --

РЕДАКТИРОВАТЬ 2:

в журналах uwsgi я получаю «неверный размер блока запроса: 21573 (макс. 4096) ... пропустить» для 127.0..0.1: 9010 и соединение было сброшено на странице браузера

и для «127.0.0.1:9011/»; я получаю сообщение «внутренняя ошибка сервера» в браузере. и журналы uwsgi как "--- no python application found, check your startup logs for errors ---"

Что может пойти не так? : |

Плагин CGI установлен?

Запуск сценариев CGI на uWSGI

С той же конфигурацией я могу воспроизвести ошибку, но после установки плагина CGI и запуска с использованием нового двоичного файла в / tmp / uwsgi он работает:

curl http://uwsgi.it/install | bash -s cgi /tmp/uwsgi