Назад | Перейти на главную страницу

Настройте nginx для отображения страницы обслуживания, когда uWSGI не работает

У меня есть nginx, настроенный для обслуживания uWSGI для приложения Flask. Иногда будут возникать ошибки или я перезапущу службу uWSGI, но я хочу, чтобы nginx обслуживал более удобную страницу обслуживания вместо стандартного 502 Bad Gateway, который возникает, когда uWSGI не отвечает. Я пробовал несколько конфигураций, которые должны делать это, но ни один из них, похоже, не дал никакого эффекта. Вот моя текущая конфигурация:

server {
    listen  80;
    server_name     mydomain.com;
    charset utf-8;
    client_max_body_size 75M;

    location / {
            try_files $uri @flask;
            error_page 502 =200 @maintenance;
    }
    location @flask {
            include uwsgi_params;
            uwsgi_pass unix:/path/to/socket/uwsgi.sock;
    }
    location @maintenance {
            root /path/to/web;
            rewrite ^(.*)$ /maintenance.html break;
    }

}

error_page директива должна быть в @flask расположение. Возможно вам также понадобится uwsgi_intercept_errors on; там.