분석
이유는 해당 매개변수의 부적절한 설정으로 인한 것으로 쉽게 해결할 수 있습니다.
다음과 같은 경우 세 가지 문제가 있습니다. nginx 및 uwsgi 통합 매개변수를 사용하여 시간 초과를 설정할 수 있습니다:
1.uwsgi_connect_timeout:
기본값은 60초이고, uwsgi-server 연결에 대한 시간 초과입니다. 이 값은 75초를 초과할 수 없습니다. 제한 시간 내에 연결이 실패하면 연결을 끊으십시오.
2.uwsgi_read_timeout:
기본값은 60초입니다. nginx는 uwsgi 프로세스가 응답 데이터를 보낼 때까지 기다립니다. 출력 결과를 생성하기 위해 오랫동안 실행해야 하는 uwsgi 프로세스가 있는 경우 이 매개변수를 늘려야 합니다. 오류 로그 파일에
이 표시된 경우 업스트림 시간 초과는 이 매개변수를 늘려야 합니다. 시간 초과 기간 후에도 응답이 수신되지 않으면 nginx는 연결을 닫습니다.
3.uwsgi_send_timeout:
기본값은 60초이며 nginx가 요청을 보내는 시간 초과 기간입니다. uwsgi 프로세스에. 시간 초과는 전체 요청이 아닌 두 쓰기 작업 사이의 시간으로 계산됩니다. 시간 초과 기간 이후에 아무런 작업도 작성되지 않으면 nginx는 연결을 닫습니다
또한 uwsgi 자체에도 harakiri 매개변수가 있습니다. 회수되는 해당 작업자를 처리합니다.
내 인스턴스:
uwsgi.ini
nginx.conf
xtyw_file.conf->location(이 구성은 nginx.conf의 include 가져오기를 통해 적용됩니다)
위 내용은 관련 내용을 포함하여 django+uwsgi+nginx - Error:nginx:504 Gateway Time out을 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.