[英]Python Django+Nginx+uwsgi 502 Bad Gateway
当我连接到我的网站时,Centos7显示502 Bad Gateway,
我用命令测试我的网站
uwsgi --ini
systemctl启动nginx
我不知道发生了什么事,请帮助我!
这是nginx.conf
upstream django {
server 127.0.0.1:8000;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com;
charset utf-8;
include /etc/nginx/default.d/*.conf;
location / {
include uwsgi_params;
uwsgi_pass django;
}
location /static/ {
alias /usr/local/etc/dmp/static/;
}
}
和uwsgi设置
[uwsgi]
chdir = /usr/local/etc/dmp
module = DMP_python.wsgi
plugins = python3
socket = :8000
chmod-socket = 666
master = true
processes = 2
vacuum = true
您使用了错误的设置来告诉uwsgi使用HTTP端口。 您需要使用http-socket
而不是socket
。
上游有多个原因可能返回无效甚至不返回任何响应,可能有多种原因
验证上游uwsgi是否实际上在centos实例中本地运行,并且可以处理传入的请求
为此,以在uwsgi.ini中将其运行为http-socket = :8000
,然后运行uwsgi --ini uwsgi.ini
如果uwsgi在本地主机上运行良好,则将配置更改回socket = :8000
在centos 7.x上,SELinux软件包已启用并以强制模式运行。 因此,它不允许nginx写入/连接到套接字。
grep nginx /var/log/audit/audit.log | audit2allow -m nginx
grep nginx /var/log/audit/audit.log | audit2allow -m nginx
grep nginx /var/log/audit/audit.log | audit2allow -M nginx
做到这一点grep nginx /var/log/audit/audit.log | audit2allow -M nginx
grep nginx /var/log/audit/audit.log | audit2allow -M nginx
semodule -i nginx.pp
getsebool -a | grep httpd
getsebool -a | grep httpd
setsebool httpd_can_network_connect on -P
运行setsebool httpd_can_network_connect on -P
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.