내 php5-fpm이 시작되지 않은 이유를 어떻게 알 수 있습니까? service php5-fpm restart 나는 [fail] 하지만 내가 할

내 서버에 도달하려고 할 때 504 게이트웨이 시간 초과가 발생합니다. 내가 다시 시작하려고 할 때 :

sudo service php5-fpm restart

나는 [fail]
하지만 내가 할 때

sudo service php5-fpm stop
sudo service php5-fpm start

오류가 없습니다.

로그가없는 경우 어떻게 조사 할 수 있습니까? 어떡해?



답변

error_log 파일에서 php-fpm 을 점검 했습니까 ? 해당 파일의 위치는 php-fpm.conf에 선언해야합니다 (우분투 구성은 /etc/php5/fpm/php-fpm.conf, 로그 파일은 / var / log / php5-fpm / log입니다). log_level 이 비활성화되어 있으면 (; log_level) 활성화 한 후 debug로 변경하십시오 . 그 후 php5-fpm 서비스를 다시 시작하고 로그를 확인하십시오.

전경 모드에서 php5-fpm을 실행하려고 할 수도 있습니다.

# php5-fpm -y /etc/php5/fpm/php-fpm.conf

아마도 이것은 당신에게 흥미로운 것을 보여줄 것입니다.


답변

표준 문제 해결 절차 :

  • 로그 파일을 확인하십시오. 는 설정을 확인하거나 특정 찾기와 PID에 대해 알아 내기 위해 어디 있는지 모르는 경우 ps aux | grep php-fpm다음 수행 lsof -p $PID | grep log(그것은 아무것도 표시하지 않는 경우 grep을 생략).
  • 시간 로그 파일의 99 %가 원인을 보여줍니다. 그렇지 않은 경우 구성에서 로깅 레벨을 찾아서 높이고 다시 시도하십시오.
  • 아마도 즉시 종료되고 PID가 프로세스를 검사하도록 할 수 없습니다. 포 그라운드에서 프로세스를 시작할 수도 있지만, 어떤 명령 줄 스위치를 사용해야하는지 파악해야합니다. 일반적으로 기존 구성을 가리킬 필요가 있습니다.
  • 로그 파일이나 stdout / stderr (전경 출력)에 단서가 포함되어 있지 않으면 strace 시간입니다 …하지만 다른 게시물입니다.

답변

이 메모가 도움이되었습니다 :
https://bugs.launchpad.net/nginx/+bug/1366651

필자의 경우 nginx> 1.6.1로 업데이트하면 php5-fpm에 전달되는 매개 변수는 fastcgi_params 대신 fastcgi.conf에 있으며 PHP는 항상 200 (ok)을 반환하지만 절대로 내용을 반환하지 않습니다. SCRIPT_FILENAME이 더 이상 설정되지 않았습니다.

다른 사람에게도 도움이되기를 바랍니다.


답변

나에게 문제는 내 php-fpm.conf파일이 기본 구성 파일 이름을 사용하지 않았다는 것입니다-이름이 /etc/php5/fpm/php5-fpm.conf( php5-fpm.confvs php-fpm.conf)

php5-fpm -t

[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed

conf 파일의 이름을 바꾸고 php-fpm.conf문제를 해결했습니다.

sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
sudo service php5-fpm restart
 * Restarting PHP5 FastCGI Process Manager php5-fpm                                                                           [ OK ]


답변

나는 로그 파일이 없다는이 문제를 겪고 HTTP 대신 HTTPS를 통해 URL에 액세스하고 프로토콜이 Nginx에 설정되어 있지 않으므로 PHP5-FPM이 트래픽을 얻지 못했음을 알았습니다.

누군가를 도울 수 있습니다.


답변

PHP 7이 php-fpm을 대신 사용하기 때문에 우분투 dist-upgrade에서 php5-fpm 패키지가 제거 될 수 있습니다. 콘솔에서 이것을 실행하십시오 :

php5-fpm

존재하지 않는 경우 이미 PHP 7을 사용하고 있으므로 설치하십시오.

apt-get install php-fpm

php7 버전을 설치합니다


답변