우분투 20.04 + Nginx 로 세팅하고 있는데, FastCGI sent in stderr: "Primary script unknown" 에러가 발생하는 경우

우분투 20.04 + Nginx 로 세팅하고 있는데, FastCGI sent in stderr: "Primary script unknown" 에러가 발생하는 경우

QA

우분투 20.04 + Nginx 로 세팅하고 있는데, FastCGI sent in stderr: "Primary script unknown" 에러가 발생하는 경우

답변 1

본문

우분투 20.04 및 Nginx, php8.1 조합으로 세팅하고 있는데,

php 파일을 인식하지 못하고 있습니다.

 

root는 홈디렉토리로 인식 시켰는데,

html 파일은 잘 인식하는데 php파일만 인식을 못하네요.

 

제 php 블럭을 올립니다.

 


        location ~ \.php$ {
            root /home/root/www;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            #fastcgi_pass 127.0.0.1:9000;
            fastcgi_pass unix:/run/php/php8.1-fpm.sock;
            fastcgi_index index.php;
            #fastcgi_param SCRIPT_FILENAME /home/root/www$fastcgi_script_name;
            include fastcgi_params;
        }

 

웹상에서 로드 시 발생하는 에러코드는 다음과 같습니다.


FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream

이 질문에 댓글 쓰기 :

답변 1

php8.1-fpm 와 nginx 를 리스타트 시켜 보셨나요?

ChatGPT에게 물어봤는데,

아래 방법을 써보니 잘되네요.

서비스 리스타트도 했고요~.

/home/user/dir/www에서 문제가 발생하는 것으로 보이므로, 이 경우 웹 서버와 PHP-FPM의 파일 및 디렉토리에 대한 액세스 권한이 원인일 수 있습니다.

아래 단계를 따라 문제를 해결하십시오:

/home/user/dir/www 디렉토리와 그 하위 파일 및 디렉토리의 소유권을 Nginx 및 PHP-FPM이 액세스할 수 있는 사용자로 변경하십시오. 일반적으로, 이러한 사용자는 www-data입니다.
bash
Copy code
sudo chown -R www-data:www-data /home/user/dir/www
파일 및 디렉토리에 올바른 권한이 설정되어 있는지 확인하십시오. 일반적으로 파일은 644 권한, 디렉토리는 755 권한이어야 합니다.
bash
Copy code
sudo find /home/user/dir/www -type d -exec chmod 755 {} \;
sudo find /home/user/dir/www -type f -exec chmod 644 {} \;
사용자 디렉토리에 대한 접근 권한이 있는지 확인하십시오. 디렉토리 트리에 있는 모든 디렉토리에 적어도 실행 권한(트래버스 권한)이 있어야 합니다.
bash
Copy code
sudo chmod +x /home
sudo chmod +x /home/user
sudo chmod +x /home/user/dir
Nginx 설정 파일에서 문서 루트를 /home/user/dir/www로 설정하고, 설정 파일이 올바르게 구성되어 있는지 확인하십시오. 설정이 변경되었다면 Nginx를 다시 시작하십시오.
Copy code
sudo systemctl restart nginx
이 단계를 완료한 후에도 문제가 해결되지 않으면, 로그 파일을 검토하거나 시스템에 대한 추가 정보를 제공하여 도움을 요청하십시오. 이를 통해 문제의 원인을 찾아 해결할 수 있습니다.

root 로 접속해서 작업 하신듯 한데
root 는 권한과 소유권을 초월하기에 상관없이 사용이 가능 합니다.

php8.1-fpm을 대부분의 유저들이 리스타트 시키지 않아서 수정후 작동이 안되는 경우가 많습니다.

서버 또는 PHP 를 수정 하셨다면 php8.1-fpm 와 nginx를 리스타트 해주시는것이 바람직 합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 591
© SIRSOFT
현재 페이지 제일 처음으로