디렉토리에 파일을 로드하려고 할 때 Nginx가 404를 찾을 수 없습니다.

디렉토리에 파일을 로드하려고 할 때 Nginx가 404를 찾을 수 없습니다.

그래서 웹사이트가 있어요.

www.example.com directory pointed at /var/www/html/

페이지를 로드할 수 있어요

www.example.com/foo/

이 페이지의 파일은 다음 위치에 있습니다.

/var/www/html/foo/index.html

foo 폴더에 스타일시트와 객체 index.html이 있고 다음을 사용해 보았습니다.

www.example.com/foo/bar.css

그러나 bar.css다음 위치에 있어도 404 not find를 반환합니다.

/var/www/html/foo/bar.css

무엇을 제공합니까? 이 파일에는 644개의 사용자 권한이 있습니다. index.html을 찾을 수 있으면 다른 파일도 찾을 수 있어야 하는 것 아닌가요?

답변1

chmod를 사용하여 폴더를 파일 권한 755로 설정해야 합니다. 다음 단계를 수행한 후 성공적으로 작동했습니다.

foo/의 소유자를 변경한 후

$ /var/www/html# chown root foo

하위 파일을 루트로 설정하고 foo/의 chmod를 755로 변경합니다.

chmod 755 foo

/var/www/html/의 권한을 모방하기 위해 내 파일에 액세스할 수 있게 되었습니다.

사용하는 것을 기억하세요

ls -l 

디렉터리에서 올바른 파일 권한을 확인하세요. 또한 /var/log/nginx/에서 액세스 및 오류 로그를 확인하세요. (적어도 내가 사용하고 있는 데비안에서는 이것이 정확합니다.)

로그 파일을 찾을 수 없으면 다음을 사용하십시오.

find / | grep error.log > results.txt

선호하는 텍스트 편집기(예: vi results.txt)를 사용하여 results.txt를 엽니다(서버에 있고 텍스트 파일을 읽는 것이 터미널보다 쉽다고 가정).

내 로그를 확인하라고 말해 준 Richard에게 감사드립니다.

관련 정보