uWSGI 와 nginx 를 사용 하여 연결 시간 초과 설정 방법
1. 수요 부터 살 펴 본다.
항목 은 보고서 에 목록 을 표시 해 야 합 니 다. 이 목록 은 보고서 에 포 함 된 모든 작업 파일 을 포함 합 니 다.문제 가 발생 한 이 보고서 에는 약 200 개의 파일 이 포함 되 어 있 으 며, 각 파일 의 크기 차 이 는 1.5M 정도 가 많 지 않다.파일 마다 요청 을 보 낼 때 두 개의 인 자 를 포함 합 니 다. 하 나 는 파일 이름 이 고 다른 하 나 는 파일 생 성 시간 입 니 다.기본 적 인 수 요 는 바로 이 렇 습 니 다. 결국 전단 은 한 바퀴 돌 고 500, WTF 로 성공 적 으로 돌 아 왔 습 니 다.
질문
nginx 로그 (nginx 로그 의 기본 경로
\var\log
ginx\error.log
를 엽 니 다. 출력 은 다음 줄 입 니 다. *42 upstream time out(110: Connection timed out) while reading response header from upstream...
로 그 는 연결 시간 이 초과 되 었 습 니 다.그래서 인터넷 으로 이 문 제 를 어떻게 해결 할 것 인 가 를 조회 하기 로 했다.nginx 공식 nginx 가 제시 한 문 서 를 통 해 문제점 을 발견 하 였 습 니 다.공식 문서 에서 다음 과 같이 지적 되 었 습 니 다.Syntax: uwsgi_connect_timeout time; Default: uwsgi_connect_timeout 60s; Context: http, server, location Defines a timeout for establishing a connection with a uwsgi server. It should be noted that this timeout cannot usually exceed 75 seconds.
ok, nginx 의 기본 설정 시간 은 60s 입 니 다. 링크 시간 이 이것 을 초과 하면 구체 적 인 시간 을 알려 야 합 니 다.여기 서 정 부 는 75s 를 넘 지 않 는 것 이 좋 겠 다 고 말 했다. 구체 적 으로 실현 되 는 수준 이 이 범위 내 에서 통 제 될 수 있 는 지 에 달 려 있다.나 는 이곳 에서 구 덩이 를 기어 다 니 며 코드 를 최적화 하고 싶 지 않 기 때문에 600 s 를 설치 하면 충분 하 다.
3 어떻게 수정
nginx 프로필 을 수정 합 니 다. 제 사례 는 다음 과 같 습 니 다.
# interface.conf
# configuration of the server
server {
# the port your site will be served on
listen 8099;
# the domain name it will serve for
server_name 127.0.0.1; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /home/jason/code/interface/media; # your Django project's media files - amend as required
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/jason/code/interface/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
# ,
uwsgi_send_timeout 600; # uWSGI , uWSGI 。
uwsgi_connect_timeout 600; # uWSGI 。
uwsgi_read_timeout 600; # uWSGI , uWSGI 。
uwsgi_pass 127.0.0.1:8000;
include /home/jason/code/interface/conf/uwsgi_params; # the uwsgi_params file you installed
}
}
설명
만약 당신 이 사용 한 것 이 uwsgi 가 아니라면 주의해 야 합 니 다. nginx 에서 해당 하 는 nginx 모듈 을 찾 아 소개 해 야 합 니 다.예 를 들 어 nginx 를 역방향 에이전트 로 사용 하면 수 정 된 이 시간 은 다음 과 같이 조정 해 야 합 니 다.
# ,
proxy_send_timeout 600;
proxy_connect_timeout 600;
proxy_read_timeout 600;
예 를 들 어 fastcgi 를 사용 하면 이 시간 을 다음 과 같이 조정 해 야 합 니 다.
# ,
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;
fastcgi_read_timeout 600;
이런 식 으로 유추 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.