3

我在生产中使用 django-channels2+daphne。在不确定的时间过去后,我两次收到此错误(相应地在 2 小时后和 6 小时后),这涉及504对任何 HTTP 请求的回答。我不知道应该如何调试问题。使用 nginx、django-channels2、daphne。

Application instance <Task pending coro=<AsgiHandler.__call__() running at /usr/local/lib/python3.7/site-packages/channels/http.py:202> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.7/asyncio/futures.py:348, <TaskWakeupMethWrapper object at 0x7ff116ef9708>()]>> for connection <WebRequest at 0x7ff116a86d30 method=GET uri=/api/v1/feed/?page_size=10&distance=-1000&not_reviewed=1 clientproto=HTTP/1.1> took too long to shut down and was killed

这是我的 nginx 配置:

server {
    server_name www.example.com example.com;
    return 301 https://example.com$request_uri;
}

server {
    server_name www.lvh.me lvh.me;
    return 301 https://lvh.me$request_uri;
}

server {
    listen 443 ssl;
    ssl_certificate /etc/ssl/certs/server.crt;
    ssl_certificate_key /etc/ssl/private/server.key;
    server_name www.example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;
    ssl_certificate /etc/ssl/certs/server.crt;
    ssl_certificate_key /etc/ssl/private/server.key;
    server_name www.lvh.me;
    return 301 https://lvh.me$request_uri;
}

server {
    server_name example.com lvh.me;
    charset UTF-8;
    listen 443 ssl;

    ssl_certificate /etc/ssl/certs/server.crt;
    ssl_certificate_key /etc/ssl/private/server.key;

    access_log  /var/log/nginx/mini.access.log;
    error_log /var/log/nginx/mini.error.log;

    location /static/ {
        autoindex on;
        root /data/django;
    }

    location /media/ {
        autoindex on;
        root /data/django;
    }

    location / {
        proxy_pass http://django:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

使用以下命令启动 daphne.com:

daphne -b 0.0.0.0 -p 8000 project.asgi:application
4

0 回答 0