nginx 오류 로그가 너무 커서 삭제하고 새 것을 만들었습니다. 이제 nginx가 시작되지 않습니다.


11

/var/log/nginx/error.log 파일을 삭제 한 후 다음을 사용하여 새 파일을 작성했습니다.

sudo nano error.log

이렇게 ls -la있음을 나타냅니다 하는 error.log 및 access.log의이 같은 권한이 있어야합니다.

시도하고 nginx를 시작하면 오류가 발생합니다.

경고 : 오류 로그 파일을 열 수 없습니다 : open () "/var/log/nginx/error.log"권한 거부에 실패했습니다.

최신 정보

nginx를 시작하려고 할 때도보고 있습니다.

긴급 : /var/run/nginx.pid 실패 13 : 권한이 거부되었습니다.

답변:


25

이렇게해도 문제가 해결되지는 않지만 앞으로는

고양이 / dev / null> / file / you / want / to / wipe-out

파일 내용을 아무 것도없이 복사하고 모든 권한을 그대로 유지합니다.

nginx-speicific은 아니지만 실행하려는 사용자로 응용 프로그램을 실행하고 있는지 확인하십시오. 루트 권한으로 실행 한 경우 루트가 모든 권한을 소유하게되므로 다른 사용자는이를 실행할 수 없습니다.


사용하는 것과 어떻게 echo "" > /file/to/empty다릅니 까? 둘 다 동일합니까?
— Gowtham Gopalakrishnan

동일해야합니다. 또한, 당신은 처음에 모든 물건을 버리고 그냥 할 수 있습니다> /file/to/empty
— Alex

5

NginX를 사용하여 로그를 회전하는 일반적인 방법은 파일 이름을 바꾼 다음 /etc/init.d/nginx reload입니다. 서버가 새 파일을 시작하고 이전 파일로 원하는 작업을 수행 할 수 있습니다.

많이 로깅하지 않도록 구성을 편집하는 것이 유용 할 수도 있습니다.


2

nginx 설정을 살펴보고 서버가 실행중인 사람을 확인하십시오-사용자는 nginx가 될 것입니다.

그래서 :

chown nginx: /var/run/nginx.pid chown -R nginx: /var/log/nginx

트릭을해야합니다.


하지만 왜 이전에 작동 했습니까?
— Blankman

1
루트로 실행하려고 시도한 후 init 스크립트로 시작하려고 시도한 것 같습니다.
— Geraint Jones

글쎄, 난 항상 그렇게 시작합니다. 흠 ..
— Blankman

nginx.conf의 말 : "사용자 www-data"
— Blankman

1

error.log 파일을 삭제하면 nginx가 자체적으로 생성합니다.


나는 그것을 삭제 한 다음 시도하고 nginx를 시작할 때 /var/log/nginx/error.log 파일에 동일한 권한 거부 오류가 발생합니다.
— Blankman

로그를 삭제하고 Nginx를 다시 시작하십시오. 자동으로 로그가 생성됩니다.
— WhiteHorse

0

파일이 작동하지 않으면 먼저 파일을 삭제하십시오. 아무도 사용자에게 올바른 권한이 있는지 확인
하십시오.

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