Это мой файл .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 и запуска с использованием нового двоичного файла в / tmp / uwsgi он работает:
curl http://uwsgi.it/install | bash -s cgi /tmp/uwsgi