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.