django uwsgi 崩溃 导致502错误
1. request请求数据量过大
最初设置的harakiri超时时间为60, 导致uwsgi崩溃重启,解决办法延长harakiri 的时间,或者注释掉harakiri的配置,看一下请求需要花多长时间
harakiri
这个选项会设置harakiri超时时间(可以看wiki首页的相关内容)。如果一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,并且当前处理这个请求的工作进程会被回收再利用(即重启)。
--harakiri 60
这个设置会使uwsgi丢弃所有需要60秒才能处理完成的请求。
2. uwsgi请求需要的时间比较长,导致nginx报502 gateway timeout错误
解决办法,修改nginx的配置,延长nginx 到uwsgi请求的read和send的timeout的时间,起作用的是read time out时间的设置
location /api/ {
uwsgi_pass django;
include uwsgi_params;
uwsgi_read_timeout 1800;
uwsgi_send_timeout 300;
proxy_read_timeout 300;
}
转载地址:http://blog.csdn.net/zhaoyingm/article/details/12850517