Nginx + PHP-FPM은 치명적인 오류 대신 502 나쁜 게이트웨이를 생성합니까?


11

현재 Nginx 및 PHP-FPM으로 Symfony2를 테스트하고 있습니다. 또한 Xdebug를 사용합니다.

Symfony2는 데모 번들과 함께 제공되며 Acme / Demo 번들에서 구문 오류를 작성하여 Symfony 2.2.0과 함께 제공되는 치명적 오류의 새로운 처리를 테스트하려고했습니다. 내가 그렇게하는 이유는 서버 응답이 502 잘못된 게이트웨이입니다.

그러나 app_dev.php 파일에서 구문 오류가 발생하면 (프레임 워크가 시작되기 전에) Xdebug가 치명적인 오류에 대해 알려줍니다.

놀랍게도, 그 오타를 수정하고 Acme / Demo 번들에서 구문 오류를 다시 생성하면 Symfony 오류 처리기가 예상대로 나타납니다. 마지막으로 모든 오타가 수정되면 (페이지 작동) 다시 동일한 오타를 다시 만들면 (Acme / Bundle에서 다시) 잘못된 게이트웨이가 나타납니다.

이것에 대한 단서가 있습니까?


모든 업데이트? 나는 같은 문제가있다
Kevin Robatel

여기에 또한 업데이트
자키 아지즈

잘못된 게이트웨이 오류가 발생하면 nginx error.log에 어떤 줄이 나타 납니까? 이것은 PHP-FPM 소켓을 가리키는 90 % 잘못된 것입니다. 또한 nginx 구성과 사용하는 PHP-FPM 풀 구성을 보여줄 수 있습니까?
Bert

답변:


1

nginx에서 php5-fpm으로 전달하는 오류로 인해 php-fpm 서비스가 잘못된 소켓에서 수신 대기하도록 구성되었습니다.

/etc/php5/php-fpm.conf에서 다음으로 변경했습니다.

듣기 = /var/run/php5-fpm.sock

모든 / etc / nginx /에서 fastcgi_pass 유닉스를 확인하십시오 : /var/run/php5-fpm.sock

HTH


아니요, 앱을 사용할 수 있으므로 구성이 작동합니다. 나는이 특정 시나리오에만 있다고 설명했다.
jchatard

버퍼를 바꿔보십시오. stackoverflow.com/questions/27173945/…
Ryan

0

nginx 로그를 확인하여 정확한 문제를 추적 할 수 있습니다.

/var/log/nginx/sitename.error.log

502는 php-fpm 프로세스에 연결하는 데 약간의 문제가 있기 때문입니다. 로그는 더 자세한 정보를 제공 할 수 있습니다. 로그를 분리하려면 PHP 응용 프로그램의 위치 아래에 별도의 error_log를 언급하십시오.

    location <name> {

    error_log /var/log/nginx/site_location.error.log;
  #  error_log /var/log/nginx/site_location.error.log debug;

    }

(nginx가 다른 포트 / phpfpm / 소켓에 연결하려고하면 이것으로부터 답변을 얻을 수 있습니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.