nginx + php-fpm 으로 PHP 만 File not found.
nginx가 php 파일 일 때만
File not found.을 반환하여 곤란했기 때문에,원인을 조사하는 방법을 기록해 둡니다.
또한 nginx 에러 로그에 다음 출력이 있다고 가정합니다.
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, ...
가능한 원인
File not found.가 표시되면 아마 다음 중 하나입니다.SCRIPT_FILENAME , fastcgi_pass 등 확인하는 것, 조사 방법
nginx
document root 아래 디렉토리, 파일에 대한 nginx 읽기 권한이 있다고 가정합니다.
index.html를 문서 루트에 넣고 해당 요청에서 의도 한 내용이 반환되는지 여부. add_header 지시문을 추가하면 의도 한 응답 헤더가 반환되는지 여부. index.php를 두어 File not found.가 될지 어떨지..php에 대한 location 지시문 설정을 확인합니다.fastcgi_pass에 지정된 경로에서 php-fpm이 대기 중입니까? SCRIPT_FILENAME의 값이 맞습니까?root의 값이 /var/www/html/current/public이면 /var/www/html/current/public/index.php가 존재하는지 여부. php-fpm
/etc/php-fpm.d/*.conf에서 access.log 지정되어 있다고 가정합니다./index.php)가 요청되었는지 확인합니다. (nginx → php-fpm의 소통이 의도대로 되어 있는지 여부) user, group 또는 listen.owner, listen.group가 nginx의 실행 사용자/그룹인지 여부. ps aux | grep php-fpm 등으로 실제로 실행중인 사용자를 확인합니다. 이번 자신의 경우는, php-fpm 의 실행 유저/그룹이
nginx 가 되어 있지 않은 것이 원인이었습니다.문서 루트 부하를 작성자 또는
nginx 그룹 만 읽을 수 있도록 설정했지만php-fpm 실행 사용자가
nginx 그룹이 아니기 때문에 php-fpm이 PHP 파일을 읽을 수없는 것 같습니다./etc/php-fpm.d/ 아래에 www.conf와 www-override.conf를 배치하고,www-override.conf에서 user, group를 nginx로 지정했지만 실제로는 www.conf의 내용 (apache)이 채택되었습니다.파일을 가로 지르는 동일한 pool에 대한 설정을 덮어 쓸 수 있다고 생각했지만 다르다
아니면
www.conf가 나중에 읽혔습니까?
                Reference
이 문제에 관하여(nginx + php-fpm 으로 PHP 만 File not found.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shohei_ot/items/8606c5457533b3532cb2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)