getpwnam („www”) nie powiodło się w /etc/nginx/nginx.conf


24

Skopiowałem próbkę nginx.conf na moje urządzenie Ubuntu 12.04 (nie wiem, gdzie umieścić inne pliki conf. Jestem nginx noob). Kiedy próbuję uruchomić nginx, pojawia się następujący błąd:

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

Co oznacza ten błąd? Jak mogę to naprawić? Znalazłem ten post, ale mój użytkownik jest już ustawiony na www www (jeśli widzisz w połączonym pliku) Jak zmienić użytkownika NGINX?


Link do strony nginx.config jest zepsuty
Josh Noe

Odpowiedzi:



8

Inną opcją (jeśli nie chcesz tworzyć nowego użytkownika) jest zastąpienie pola użytkownika w nginx.conf przez:

user nobody;

3

Utwórz wwwużytkownika. W systemie Ubuntu należy to zrobić za pomocą następującego polecenia i flag:

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

0

Chociaż odpowiedź Michaela Hamptonsa jest poprawna, to tylko część odpowiedzi. Bardziej kompletna wersja to:

  1. Sprawdź, czy użytkownik istnieje
  2. Sprawdź także, którego użytkownika używasz do uruchamiania kontenera dokowanego

Jeśli zrobisz:

docker -u 0 ....

wtedy ten sam komunikat pojawi się, nawet jeśli użytkownik istnieje w systemie hosta. Zmiana wartości za -u na identyfikator użytkownika nginx rozwiązuje ten problem.


0

Wersja nginx: nginx / 1.13.9 zbudowany przez gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) zbudowany z OpenSSL 1.1.0g 2 listopada 2017

po prostu użyj

user  nobody nogroup;

0

To polecenie, które działa dla mnie „Scientific Linux”

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

lub nazwę użytkownika, www-datajeśli go użyjesz

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

-1

Miałem ten sam problem ... Wybrałem użytkownika „nginx” i nie istniał. Rozwiązałem to, zmieniając i ponownie kompilując NGINX wybierając istniejący.

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

Już wszystko dobrze...


Opcje kompilacji są sposobem na ustawienie wartości domyślnych dla niektórych dyrektyw. Oczywiście nie trzeba ponownie kompilować nginx, aby je zmienić: te wartości domyślne są przeciążone plikami konfiguracyjnymi.
Xavier Lucas

Oczywiście, ale mówimy o pierwszej konfiguracji / kompilacji ...
Jorge Luis Guacarán

Gdzie dokładnie to przeczytałeś? Pierwsza konfiguracja nie ma nic wspólnego z kompilacją btw.
Xavier Lucas
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.