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.