개발 꿀팁/PHP

Nginx + PHP-fpm File not found. 문제 해결 기록

Jammie 2022. 8. 4. 14:59
반응형

현상 확인:

브라우저의 개발자 도구 열기, 요청 정보 보기

HTTP/1.1 404 Not Found

Server: nginx/1.11.10

Date: Fri, 20 Apr 2018 08:10:13 GMT

Content-Type: text/html; charset=UTF-8

Transfer-Encoding: chunked

Connection: keep-alive

X-Powered-By: PHP/5.6.30

FastCGI가 결과를 반환했다는 설명이다.



문제 원인:

아마 권한과 관계가 있을 것이다



동일한 구성입니다. 다음 두 가지 설정을 사용합니다

/opt/local/share/nginx/html  
/opt/local/share/nginx/html/php

 

목록은 할 수 없다.

통과 ls-l 권한 보기, 차이점 발견하기

/Users/xxx/Downloads/workForder

목록은 할 수 없다.

통과 ls-l 권한 보기, 차이점 발견하기

/Users/xxx/Downloads/workForder

디렉터리의 파일에 확장 속성이 없습니다. 즉, @ 기호가 없습니다.



Nginx의 정적 파일 root 디렉터리를 다음과 같이 수정합니다

/Users/xxx/Downloads/workForder

액세스 발생:
403 forbidden 오류
다시 nginx 403을 보고 문제의 원인을 찾았다.프로필에서 user와 group을 수정해야 합니다.

nginx의 형식은 다음과 같습니다

user 사용자 이름/root owner
예:
user root owner

PHP-fpm의 개별 수정:

user = root
group = owner

그리고 재부팅합니다.

PHP-fpm 자기는 재가동 명령이 없고, 비교적 구덩이!과정을 죽일 수밖에 없다.

설정 파일:

   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #

        location ~ \.php$ {
            root           /Users/xxx/Downloads/workForder;
           # root           /opt/local/share/nginx/html/php;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;

         }

여기엔 PHP와 관련된 부분만 전시돼 있다.제가 설정에 들어갈 때

try_files $uri =404;

그러면 Nginx에 의해 반환되는 것을 볼 수 있습니다

PHP 파일에 접근할 때 다음과 같은 오류가 나타날 수 있습니다

FastCGI가 작동하지 않기 때문에 다음을 수행해야 합니다

sudo php-fpm  -D

Nginx와 PHP가 같은 디렉토리를 가리키면 다음과 같이 표시됩니다.

File not found

반응형