728x90
반응형
에러 증상
- 브라우저에서 접속하면 페이지가 열리지 않고 404 Not Found 오류가 발생
- Nginx 에러 로그(일반적으로 /var/log/nginx/error.log)에 다음 메시지 표시
... permission denied ...
즉, Nginx 프로세스가 필요한 파일이나 디렉터리에 접근할 수 있는 권한이 없어서 파일을 로드하지 못하는 상황입니다.
빠른 해결 방법: Nginx를 root 권한으로 실행하기
가장 쉽게 권한 문제를 우회하는 방법은 Nginx를 root 권한으로 실행하는 것입니다. 이 방법은 빠르고 간단하지만, 보안상 매우 위험할 수 있으므로 운영 환경보다는 테스트 환경에서 임시로 확인할 때만 사용하는 것을 권장합니다.
1. Nginx 설정 파일 열기
일반적으로 Nginx 메인 설정 파일은 /etc/nginx/nginx.conf에 위치합니다. 아래 명령어로 열어주세요.
vi /etc/nginx/nginx.conf
2. user 설정 수정
파일 상단이나 중간쯤을 살펴보면 다음과 같은 설정이 보일 것입니다.
# user www-data;
user root;
이를 주석 처리하고, 아래와 같이 root 계정으로 실행하도록 변경합니다.
3. Nginx 재시작
설정 파일 수정 후에는 반드시 Nginx를 재시작해야 반영됩니다.
sudo systemctl restart nginx
정상적으로 재시작되었다면, 브라우저에서 다시 접속해 보세요.
permission denied 오류가 해결되어 404 오류가 사라졌는지 확인하실 수 있습니다.
주의사항
- 운영 환경에서 root 실행은 가급적 지양
- Nginx가 root 권한으로 동작하면, 보안적으로 매우 위험해집니다.
- 서버 전체 권한을 건드릴 수 있으므로, 작은 취약점이라도 악용되면 피해가 클 수 있습니다.
- 디렉터리 권한/SELinux 설정 확인
- 보통은 Nginx를 전용 사용자(www-data, nginx)로 실행하고, 웹 루트 디렉터리(예: /var/www/html)의 소유 권한을 해당 사용자로 맞춰주는 것이 일반적입니다.
- SELinux가 활성화된 CentOS/RHEL 계열 서버에서는 chcon, restorecon 명령으로 웹 디렉터리의 SELinux 컨텍스트를 조정해야 합니다.
- 에러 로그 꾸준히 체크
- /var/log/nginx/error.log 또는 별도로 지정한 에러 로그 파일에서 Nginx의 동작 상태를 주기적으로 파악하세요.
- permission denied 이외에 또 다른 오류가 발생하고 있지는 않은지 수시로 확인해야 합니다.
결론
- 404 Not Found + permission denied 문제가 발생하면,
임시 방편으로 /etc/nginx/nginx.conf의 user www-data;를 주석 처리하고 user root;로 바꾸면 권한 문제를 우회할 수 있습니다. - 하지만 root 권한 실행은 매우 위험하기 때문에, 운영 환경에서는 Nginx 사용자(www-data, nginx)의 권한 설정 또는 SELinux 컨텍스트 설정을 통해 해결하는 것이 안전하고 올바른 방법입니다.
이상으로 Nginx 404 Not Found (permission denied) 오류 해결 방법에 대해 안내해 드렸습니다.
급히 해결해야 하는 경우라면 root 권한으로 실행하는 방법으로 빠르게 확인해 볼 수 있지만, 장기적으로는 파일/디렉터리 및 서버 정책을 올바르게 설정하여 안전하고 안정적으로 웹 서비스를 운영하시길 바랍니다.
728x90
반응형
'여러가지 > Ubuntu & Linux' 카테고리의 다른 글
[Ubuntu & Linux] CPU 정보 확인하는 방법 !! (0) | 2024.09.25 |
---|---|
[Ubuntu & Linux] 타임존 한국시간으로 변경하는 방법 !! (0) | 2024.08.30 |
[Ubuntu & Linux] cuda 및 nvidia 설치제거 방법 !! (패키지 삭제) (0) | 2024.08.13 |
[Ubuntu & Linux] 주피터 노트북(jupyter notebook) 실행 시 에러 TypeError: __init__() got an unexpected keyword argument 'registry' 해결방법 (0) | 2024.08.12 |
[Ubuntu & Linux ] nohup과 systemd 의 장단점과 차이점 (0) | 2024.07.11 |
댓글