Nginx 403 forbidden (13: Permission denied) 의 오 류 를 해결 하 는 네 가지 방법
2587 단어 nginx
저 는 로 컬 가상 컴퓨터 에서 yum 을 통 해 nginx 를 설치 하고 모든 것 이 정상 적 이지 만 타 임 스 403 을 방문 합 니 다.
그래서 nginx 로 그 를 보 았 습 니 다. 경 로 는 / var / log / nginx / error. log 입 니 다.로 그 를 열 어 오류 보고 Permission denied 를 발 견 했 습 니 다. 자세 한 오 류 는 다음 과 같 습 니 다.
2018/11/28 11:39:40 [error] 41772#41772: *130 "/home/hc/dists/autoAweme/dist/index.html" is forbidden (13: Permission denied), client: 192.168.3.139, server: 192.168.3.139, request: "GET / HTTP/1.1", host: "192.168.3.139"
1. 시작 사용자 와 nginx 작업 사용자 가 일치 하지 않 아서 발생 합 니 다.
1. nginx 시작 사용자 보기
명령:
ps aux | grep "nginx: worker process" | awk '{print $1}'
[root@localhost hc]# ps aux | grep "nginx: worker process" | awk '{print $1}'
nginx
root
루트 로 시작 하 는 것 이 아니 라 nginx 를 발 견 했 습 니 다.
2. nginx. conf 의 user 를 시작 사용자 와 일치 하도록 변경 합 니 다.
nginx. conf 파일 에 있 는 user 에 대응 하 는 nginx 를 root 로 변경 하고 변경 한 후 다시 시작 합 니 다.
[root@localhost hc]# vim /etc/nginx/nginx.conf
[root@localhost hc]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost hc]# nginx -s reload
2. index. html 또는 index. php 파일 이 없 으 면 설정 파일 에서 index. html index. htm 줄 에서 지정 한 파일 입 니 다.
server {
listen 80;
server_name localhost;
index index.php index.html;
root / var/www;
}
/ var / www 아래 에 index. php, index. html 가 없 을 때 도 메 인 이름 을 직접 방문 하여 파일 을 찾 지 못 하면 403 forbidden 을 보고 합 니 다.
3. 권한 문제, nginx 가 웹 디 렉 터 리 의 조작 권한 이 없 으 면 403 오류 가 발생 할 수 있 습 니 다.
해결 방법: 웹 디 렉 터 리 의 읽 기와 쓰기 권한 을 수정 하거나 nginx 의 시작 사용 자 를 디 렉 터 리 의 소속 사용자 로 변경 하여 Nginx 를 다시 시작 하면 해결 할 수 있 습 니 다.
chmod -R 755 / var/www
4. SELinux 가 오픈 상태 (enabled) 로 설 정 된 이유
먼저 이 컴퓨터 의 SELinux 오픈 상 태 를 보십시오. 만약 SELinux 가 status 매개 변 수 는 enabled 즉 오픈 상태 입 니 다.
/usr/sbin/ sestatus -v
getenforce 명령 으로 검사 하기
어떻게 SELinux 를 닫 습 니까?
1. 임시 종료 (다시 시작 하지 않 아 도 됨)
setenforce 0
2. 영구 종료 (재 부팅 필요)
설정 파일 / etc / selinux / config 를 수정 하고 SELINUX = enforcing 을 SELINUX = disabled 로 변경 합 니 다.
vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
재 부팅 이 적 용 됩 니 다.
reboot
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.