设置 nginx 在 uWSGI 关闭时显示维护页面

设置 nginx 在 uWSGI 关闭时显示维护页面

我已将 nginx 设置为为 Flask 应用提供 uWSGI。有时会出现错误,或者我将重新启动 uWSGI 服务,但我希望 nginx 提供更好的维护页面,而不是在 uWSGI 没有响应时发生的默认 502 Bad Gateway。我尝试了多个应该执行此操作的配置,但似乎都没有任何效果。这是我当前的配置:

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;
    }

}

答案1

error_page指令应该位于@flask位置。可能您也需要uwsgi_intercept_errors on;在那里。

相关内容