Я думаю, что уже проверил несколько сотен ссылок на эту ошибку и ... не повезло.
Запуск в Debian 9.9 (растяжка)
Linux 4.19.42 +
Версия nginx: nginx / 1.10.3
uwsgi 2.0.18 (скомпилировано из исходного кода)
Конфигурация uwsgi:
[uwsgi]
user = www-data
chdir = /var/www/html/
wsgi-file = test.py
#socket = /tmp/uwsgi.sock
socket = 127.0.0.1:9010
master = true
uid = %(user)
gid = %(user)
uwsgi_modifier1 = 9
nginx (частично):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ \.py$ {
uwsgi_modifier1 9;
#uwsgi_pass unix:/tmp/uwsgi.sock;
uwsgi_pass 127.0.0.1:9010;
include uwsgi_params;
}
test.py:
#!/bin/env python3
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
Я пробую оба метода сокетов, один и тот же результат.
Используя curl, тестирование nginx выполняется должным образом с .html и php, однако на py происходит сбой с 502.
Запуская uwsgi, в автономном режиме с тем же набором параметров, отвечайте хорошо на curl на назначенном порту.
EDIT
исправлена проблема с заменой (частичной) конфигурации nginx:
location ~ \.py$ {
uwsgi_modifier1 9;
proxy_pass 127.0.0.1:9010;
include uwsgi_params;
}
с использованием proxy_pass
вместо uwsgi_pass