getpwnam (“www”) /etc/nginx/nginx.conf dosyasında başarısız oldu


24

Nginx.conf örneğini ubuntu 12.04 kutuma kopyaladım (diğer conf dosyalarını nereye koyacağımı bilmiyorum. Ben bir nginx noob'um). Nginx'i başlatmaya çalıştığımda aşağıdaki hatayı alıyorum:

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

Bu hatanın anlamı nedir? Nasıl düzeltebilirim? Bu gönderiyi buldum ancak kullanıcım zaten www www olarak ayarlandı (bağlantılı dosyada görürseniz) NGINX kullanıcısını nasıl değiştiririm?


Nginx.config bağlantısı koptu
Josh Noe

Yanıtlar:


33

Konfigürasyonunuzda belirttiğiniz kullanıcı wwwmevcut değil. Kullanıcıyı oluşturun ya da mevcut olan bir kullanıcıyı seçin.


3
sözdizimi şu
şekildedir

8

Diğer seçeneğiniz (yeni bir kullanıcı oluşturmak istemiyorsanız), nginx.conf içindeki kullanıcı alanını şununla değiştirmektir:

user nobody;

3

wwwKullanıcıyı yarat Ubuntu'da bu, aşağıdaki komut ve bayraklar kullanılarak yapılmalıdır:

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

0

Michael Hamptons'ın cevabı doğru olsa da, cevabın sadece bir kısmı. Daha eksiksiz bir versiyon şöyle olurdu:

  1. Kullanıcının var olup olmadığını kontrol et
  2. Ayrıca liman konteynerini başlatmak için hangi kullanıcıyı kullandığınızı da kontrol edin.

Yaparsan:

docker -u 0 ....

daha sonra, kullanıcı ana bilgisayar sisteminde mevcut olsa bile aynı mesaj görünecektir. -U arkasındaki değerin kullanıcı nginx'in kimliğiyle değiştirilmesi bu sorunu çözer.


0

nginx versiyonu: ggin tarafından geliştirilen nginx / 1.13.9 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) OpenSSL ile üretilmiştir 1.1.0g 2 Kas 2017

sadece kullan

user  nobody nogroup;

0

Bu benim için çalışan komuttur "Scientific Linux"

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

veya www-datayerine kullanırsanız kullanıcı adı

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

-1

Aynı sorunu yaşadım ... "nginx" kullanıcısını seçtim ve yoktu. NGINX'i mevcut olanı seçerek yeniden yapılandırıp yeniden derledim.

./configure --prefix = / opt / nginx - kullanıcı = myUser --group = myUsergroup

Artık her şey yolunda ...


Derleme seçenekleri bazı direktifler için varsayılan değerleri ayarlamanın bir yoludur . Elbette, bunları değiştirmek için nginx'i tekrar derlemek gerekli değildir: bu varsayılan değerler konfigürasyon dosyaları tarafından aşırı yüklenmiştir.
Xavier Lucas,

Elbette, ama biz ilk kez
yapılanış

Bunu tam olarak nerede okudun? İlk yapılandırma btw derlemesi ile ilgisi yoktur.
Xavier Lucas,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.