/etc/nginx/nginx.conf에서 getpwnam (“www”)이 실패했습니다


24

nginx.conf 샘플을 우분투 12.04 상자에 복사했습니다 (다른 conf 파일을 어디에 둘 지 모르겠습니다. nginx noob입니다). nginx를 시작하려고하면 다음 오류가 발생합니다.

abe-lens-laptop@abe:/etc$ sudo service nginx start
Starting nginx: nginx: [emerg] getpwnam("www") failed in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

이 오류는 무엇을 의미합니까? 어떻게 고칠 수 있습니까? 이 게시물을 찾았지만 사용자가 이미 www www로 설정되어 있습니다 (링크 된 파일에있는 경우) NGINX 사용자를 어떻게 변경합니까?


nginx.config로 연결이 끊어졌습니다
Josh Noe

답변:



8

다른 옵션 (새 사용자를 만들지 않으려는 경우)은 nginx.conf의 사용자 필드를 다음과 같이 바꾸는 것입니다.

user nobody;

3

www사용자를 작성하십시오 . 우분투에서는 다음 명령과 플래그를 사용하여 수행해야합니다.

sudo adduser --system --no-create-home --shell /bin/false --group --disabled-login www

0

Michael Hamptons의 답변은 정확하지만 답변의 일부일뿐입니다. 보다 완전한 버전은 다음과 같습니다.

  1. 사용자가 존재하는지 확인
  2. 도커 컨테이너를 시작하는 데 사용하는 사용자도 확인하십시오.

당신이 할 경우 :

docker -u 0 ....

사용자가 호스트 시스템에 존재하더라도 동일한 메시지가 나타납니다. 그런 다음 -u 뒤에있는 값을 사용자 nginx의 ID로 변경하면이 문제가 해결됩니다.


0

nginx 버전 : OpenSSL 1.1.0g로 빌드 된 gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9)로 빌드 된 nginx / 1.13.9 2017 년 11 월 2 일

그냥 사용

user  nobody nogroup;

0

이것은 "Scientific Linux"에 맞는 명령입니다

adduser  --no-create-home  --system  --user-group --shell /bin/false   www

또는 www-data대신 사용하는 경우 사용자 이름

adduser  --no-create-home  --system  --user-group --shell /bin/false   www-data  

-1

같은 문제가 발생했습니다. "nginx"사용자를 선택했는데 존재하지 않았습니다. 기존의 것을 선택하여 NGINX를 재구성하고 다시 컴파일하는 것을 해결했습니다.

./configure --prefix = / opt / nginx --user = myUser --group = myUsergroup

이제 다 괜찮아 ...


컴파일 옵션은 일부 지시문의 기본값 을 설정하는 방법 입니다. 물론 이들을 변경하기 위해 nginx를 다시 컴파일 할 필요는 없습니다. 이러한 기본값은 구성 파일에 의해 오버로드됩니다.
Xavier Lucas

물론, 우리는 처음으로 구성 / 컴파일에 대해 이야기하고 있습니다.
Jorge Luis Guacarán

정확히 어디서 읽었습니까? 첫 번째 구성은 컴파일 btw와 관련이 없습니다.
Xavier Lucas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.