Nginx 504 Gateway Time-out

1342 단어 nginx
1. 장면:
업무 수요 로 시간 이 걸 리 는 스 크 립 트 를 썼 습 니 다. 명령 행 에서 nginx 를 벗 어 나 면 정상적으로 실행 할 수 있 지만 브 라 우 저 로 nginx 를 역방향 에이전트 로 실행 하면 나타 납 니 다.
“504 Gateway Time-out”;
2. 분석:
Nginx 504 Gateway Time - out 의 의 미 는 요청 한 게 이 트 웨 이 가 요청 되 지 않 았 다 는 것 입 니 다. 쉽게 말 하면 실행 가능 한 PHP - CGI 를 요청 하지 않 으 면 다음 과 같은 몇 가지 상황 으로 인해 이 문 제 를 초래 할 수 있 습 니 다. 1. 프로그램 이 대량의 데 이 터 를 처리 하거나 순환 하 는 문제 가 있 습 니 다. 2. 데이터 베 이 스 를 만 드 는 등 연결 이 되 지 않 고 시간 초과 실패 메커니즘 이 없습니다.연결 을 만 들 고 있 습 니 다. 3. 프로그램 에서 http 요청 이 있 습 니 다. 이 요청 들 은 너무 오래 실행 되 어 시간 이 초과 되 었 습 니 다.
3. 해결:
nginx 프로필 에 server 에 있 는 location ~ \. php (. *) ${에 다음 코드 를 추가 합 니 다.
 fastcgi_connect_timeout 1200s;#    300s
 fastcgi_send_timeout 1200s;#    300s
 fastcgi_read_timeout 1200s;#    300s
 fastcgi_buffers      8 128K;
 fastcgi_buffer_size  128;

4. 이유:
nginx 설정 항목:
fastcgi_connect_timeout #  FastCGI           ,   60 ,     75 ;
fastcgi_send_timeout #Nginx     FastCGI      request ,         ,   60 ;
fastcgi_read_timeout #FastCGI       Nginx       response ,         ,   60 ;

php 설정 항목:
php.ini
max_execution_time = 300s;PHP          ,  ,  php-cgi(php-fpm)  ,       。
php-fpm
request_terminate_timeout = 0; #             .   0                   

 
이때 nginx 502 가 나타 나 지 않 았 습 니 다. 해결!

좋은 웹페이지 즐겨찾기