“구성 파일 /etc/nginx/nginx.conf 테스트 실패”:이 문제가 발생한 이유를 어떻게 알 수 있습니까?


92

저는 우분투 12.04에서 nginx 1.1.19에 대한 튜토리얼을 시도하는 nginx noob 입니다. 내가 가진 의 nginx 설정 파일을.

이 명령을 실행하면 테스트가 실패합니다.

$ sudo service nginx restart
Restarting nginx: nginx: [crit] pread() "/etc/nginx/sites-enabled/csv" failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

nginx.conf 테스트가 실패한 이유를 어떻게 알 수 있습니까?


1
"/ etc / ngix / sites-enabled"에 여전히 "기본값"이 있습니까?
RickyA

@RickyA "기본"파일을 의미합니까? 예, 해당 디렉토리에 해당 파일이 있습니다. 그 파일을 달렸다의 nginx -s 다시로드를 이동하고 여전히 서버에서 동일한 동작을 참조
bernie2436

오류가있는 해당 파일 확인, 파일 CSV 언급 사이트를 사용
모하마드 AbuShady에게

1
Ad sudo service nginx restart) Nginx에는 CLI 도구도 있습니다. nginx -s reload변경된 경우 구성을 다시로드합니다. 훨씬 빠릅니다.
kaiser

답변:


168

sudo nginx -t 모든 파일을 테스트하고 오류 및 경고 위치를 반환해야합니다.


1
하나의 파일 (예 : /etc/nginx/nginx.conf) 만 테스트하고 있지만 사이트 활성화 / 기본값을 어떻게 테스트 할 수 있습니까?
aitchkhan jul.

4
그것은 그들이이 기본 파일에 포함 된 한대로, 모든 테스트 것이라고 생각, 당신은 다음 사용해보십시오 기본 설정 파일 경로를 사용하지 않는 경우 (나는 그들이 생각하는?) -c플래그를, 그래서nginx -c /etc/nginx/sites-enabled/default -t
모하마드 AbuShady

@MohammadAbuShady가 말한 것을 확인할 수 있습니다. 의 맨 페이지에 실행하지 마십시오-t 라고 다소 모호 하지만 구성 파일을 테스트하십시오. nginx는 구성에서 올바른 구문을 확인한 다음 구성에 참조 된 파일을 열려고합니다. 파일이 존재하는지 확인하는 것이 아니라 구문 분석됩니다. 예상대로 종료 코드는 오류가 발견되면 1이고 그렇지 않으면 0입니다.
Günther Eberl

7

이 특정 명령은 저에게 효과적이었습니다. sudo apt-get remove --purge nginx nginx-full nginx-common

sudo apt-get install nginx

stackexchnage에 대한이 답변에 대한 크레딧


0

nginx 파일의 구문 오류를 확인하려면 -c 옵션을 사용할 수 있습니다.

[root@server ~]# sudo nginx -t -c /etc/nginx/my-server.conf
nginx: the configuration file /etc/nginx/my-server.conf syntax is ok
nginx: configuration file /etc/nginx/my-server.conf test is successful
[root@server ~]# 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.