Http status code 502, normal after refresh. uwsgi caused? nginx caused?

python + Django + uwsgi + nginx

когда пользователь посещает веб-страницу, HTTP-запрос возвращает код состояния 502. После чего пользователь сразу же обновляет страницу, и она может быть открыта нормально. Многие пользователи получают эту ошибку. На данный момент параллелизм не большой, не более 20 пользователей. Я не знаю, что вызывает ошибку 502. Кто-нибудь знает, как решить эту проблему?

Для 502 ошибки, uwsgi получил много журналов ошибок. примерно так:

 9 16:07:37 2022] GET /usernames/chengyuyao@/count/ => generated 1658 bytes in 5 msecs 
(HTTP/1.0 404) 9 headers in 310 bytes (3 switches on core 0)
uwsgi_proto_http_parser(): Bad address [proto/http.c line 463]
!!! uWSGI process 115 got Segmentation Fault !!!
*** backtrace of 115 ***
/usr/local/bin/uwsgi(uwsgi_backtrace+0x2f) [0x55c95079ca7f]
/usr/local/bin/uwsgi(uwsgi_segfault+0x23) [0x55c95079ce43]
/lib/x86_64-linux-gnu/libc.so.6(+0x3bd60) [0x7f6e96acad60]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x1c) [0x7f6e96b1973c]
/usr/local/bin/uwsgi(uwsgi_close_request+0x13b) [0x55c9507519eb]
/usr/local/bin/uwsgi(py_uwsgi_gevent_request+0x100) [0x55c9507c3e20]
/usr/local/lib/libpython3.6m.so.1.0(PyCFunction_Call+0x45) [0x7f6e96d9f5f5]
/usr/local/lib/python3.6/site-packages/gevent/_gevent_cgreenlet.cpython-36m-x86_64-linux-gnu.so(+0x10b6c) [0x7f6e91034b6c]
/usr/local/lib/python3.6/site-packages/gevent/_gevent_cgreenlet.cpython-36m-x86_64-linux-gnu.so(+0x29182) [0x7f6e9104d182]
/usr/local/lib/python3.6/site-packages/gevent/libev/corecext.cpython-36m-x86_64-linux-gnu.so(+0x23fff) [0x7f6e91e13fff]
/usr/local/lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x8a) [0x7f6e96d7418a]
/usr/local/lib/libpython3.6m.so.1.0(_PyObject_Call_Prepend+0x67) [0x7f6e96d74b07]
/usr/local/lib/libpython3.6m.so.1.0(PyObject_Call+0x47) [0x7f6e96d74587]
/usr/local/lib/python3.6/site-packages/greenlet/_greenlet.cpython-36m-x86_64-linux-gnu.so(+0x3819) [0x7f6e92898819]
/usr/local/lib/python3.6/site-packages/greenlet/_greenlet.cpython-36m-x86_64-linux-gnu.so(+0x3a8f) [0x7f6e92898a8f]
[0x7f6e8eff1588]
*** end of backtrace ***
<
stdout_logfile_backups=5

enable-threads = true
processes = 16
workers = 16 
threads = 8  
max-requests = 10000  
master = true  
listen = 65536 

#http-keepalive = true
disable-logging = True

uwsgi config:

client_body_buffer_size 128k;
proxy_buffer_size 64k;
proxy_buffers   4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
access_log off;
log_not_found off;
Вернуться на верх