我认为已经检查了数百个对此错误的引用,而且……不走运。
在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时,确定可以在分配的端口上卷曲。
编辑 该问题已修复,替换为(部分)nginx配置:
location ~ \.py$ {
uwsgi_modifier1 9;
proxy_pass 127.0.0.1:9010;
include uwsgi_params;
}
在proxy_pass
上使用uwsgi_pass