UWSGI 错误网关-连接到上游时连接被拒绝

UWSGI 错误网关-连接到上游时连接被拒绝

尝试使用 UWSGI 在 nginx 上运行一个基本的 Django 应用程序。我不断收到 502 错误,错误主题行中显示错误。我以 root 身份执行所有这些操作,我知道这是不好的做法,但我只是在练习。我的配置文件如下(它包含在 nginx.conf 文件中):

服务器{监听80;服务器名称104.131.133.149;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /home/root/headers;
}

location / {
    include         uwsgi_params;
    uwsgi_pass      127.0.0.1:8080;
}
}

我的 uwsgi 文件是:

[uwsgi]
project = headers
base = /root

chdir = %(base)/%(project)
home = %(base)/Env/%(project)
module = %(project).wsgi:application

master = true
processes = 5

socket = 127.0.0.1:8080
chmod-socket = 666
vacuum = true

据我所知,我正在将端口 80 上的所有请求(来自 nginx.conf)上游传递到 localhost,它在我的 VH 上运行,其中 uwsgi 正在监听端口 8080。我尝试了各种权限,包括 777。如果有人能指出我做错了什么,请告诉我。

答案1

好的,问题在于没有使用 --socket 127.0.0.1:8080 选项设置启动 uwsgi!这在我的 upstart 脚本中,现在看起来像:

start on runlevel [2345]
stop on runlevel [!2345]

setuid root
setgid root

exec /usr/local/bin/uwsgi --emperor /etc/uwsgi/sites --socket 127.0.0.1:8080

答案2

我遇到过类似的事情。我按照如下方式运行项目:

upstream project {
    server project-backend:8000;
}

server {
    listen 80;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name project.alx.corp;

        ssl_certificate /etc/nginx/ssl/cert.crt;
        ssl_certificate_key /etc/nginx/ssl/cert.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers     HIGH:!aNULL:!MD5;

     location /static/ {
         alias /code/static/;
     }

    location / {
                proxy_pass http://project;
        include     /etc/nginx/uwsgi_params;
    }
}
[uwsgi]

base = /code/project
module = project.wsgi:application
logto = /code/logs/uwsgi.log
http-socket = 0.0.0.0:8000
master = 1
processes = 2
threads = 2

相关内容