2013-10-23 3 views
8

Drupal을 실행하기 위해 LEMP 스택을 설정하는 중입니다. 나는 Nginx와 PHP-FastCGI를 설치했다.Nginx 502 잘못된 게이트웨이. 버퍼를 늘려서 해결했습니다. 왜?

Nginx는 정상적으로 작동하지만 PHP를 실행하려고 시도하면 "502 Bad Gateway"오류가 발생합니다. nginx 502 bad gateway를, 버퍼 크기가 문제를 해결 증가 :

빠른 구글은 밝혔다.

fastcgi_buffers 8 16k; 
fastcgi_buffer_size 32k; 

질문은 이유가 무엇입니까?

이전 링크에서 나의 이해

, 그의 nginx는 PHP를 FastCGI를 요청을 전송 한하고 응답하지 않은 것 같다. 이러한 요청에 대해 시간 초과가 있었습니까?

그것은하지 PHP가 복잡하기 때문에 (그것, 그것은 phpinfo();이었다되지 않은) 응답 시간이 충분나요. 이제 버퍼를 늘렸습니다. 버퍼를 다시 늘리지 않아도 될까요?

+0

검사 오류 로그 –

+0

내가 특정 PHP 호출에 같은 nginx를 502 불량 게이트웨이를 얻고 있었다 - 그리고 버퍼를 추가하고 버퍼 크기가 너무 날 위해 일했습니다. 이유를 모르겠다. – amurrell

+1

이것은 잘못된 질문 일지라도 좋은 질문입니다. 나도 이것에 대해 궁금해하고 있었고, 모든 솔루션이 어떻게 버퍼 크기를 늘리는 지 알려주지 않고 나를 괴롭게한다. 얼마나 많은가? 너무 작습니까? 왜 이것이 기본 구성에없는가? 왜요? – jpeltoniemi

답변

4

이해하기 어렵지 않습니다.
upstream sent too big header while reading response header from upstream

fastcgi_buffers 상류있는 FastCGI 응답에 사용되는 버퍼 세그먼트의 수와 메모리 크기를 설정 : 당신의 nginx 오류 로그를 확인합니다 경우

, 대부분의 아마 당신은이 메시지가 표시됩니다. 문서에 제시된

기본값 :
기본 버퍼 크기는 운영 체제의 PAGESIZE 같다 fastcgi_buffers 8 4k|8k;
.
getconf PAGESIZE은 현재 메모리 페이지 크기를 가져올 수 있습니다.

예를 들어 Ubuntu 14.01에서 기본 PAGESIZE는 4KB입니다. 즉 8 개의 세그먼트가 있으며 각각 4KB입니다. 합계는 32KB입니다. 우리가 좋은 설명이없는 응답 코드를 502 - server received

을받을 이유있는 FastCGI 응답, 즉 이유,이 숫자보다 더 많은,하지만 당신이 더 잘 이해하는 데 도움이 될 것입니다, 나는 희망한다.

+0

그래서 FastCGI 응답의 크기를 어떻게 알 수 있습니까? – Fahmi

+0

그것은 귀하의 응용 프로그램에 따라 다릅니다. fpm은 요청을 처리하고 nginx가받는 html 출력을 렌더링합니다. 이 출력의 크기는 빠른 cgi 버퍼보다 ​​큽니다. – antonbormotov

관련 문제