getpwnam ("www") gagal di /etc/nginx/nginx.conf

24

Saya menyalin sampel nginx.conf ke kotak ubuntu 12.04 saya (saya tidak tahu di mana harus meletakkan file conf lainnya. Saya seorang nogin nginx). Ketika saya mencoba memulai nginx saya mendapatkan kesalahan berikut:

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

Apa artinya kesalahan ini? Bagaimana saya bisa memperbaikinya? Saya menemukan posting ini tetapi pengguna saya sudah diatur ke www www (jika Anda melihat di file tertaut) Bagaimana cara mengubah pengguna NGINX?

bernie2436
sumber
Tautan ke nginx.config rusak
Josh Noe

Jawaban:

33

Pengguna yang Anda tentukan dalam konfigurasi Anda www,, tidak ada. Baik buat pengguna, atau pilih pengguna yang memang ada.

Michael Hampton
sumber
3
sintaksnya adalah: useradd www
Jonesome Reinstate Monica
8

Opsi Anda yang lain (jika Anda tidak ingin membuat pengguna baru) adalah mengganti bidang pengguna di nginx.conf dengan:

user nobody;
Aaron_H
sumber
3

Buat wwwpengguna. Di Ubuntu ini harus dilakukan dengan menggunakan perintah dan flag berikut:

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

Sementara jawaban Michael Hamptons benar, itu hanya bagian dari jawabannya. Versi yang lebih lengkap adalah:

  1. Periksa apakah pengguna ada
  2. Periksa juga pengguna mana yang Anda gunakan untuk memulai wadah buruh pelabuhan

Jika kamu melakukan:

docker -u 0 ....

maka pesan yang sama akan muncul bahkan jika pengguna ada di sistem host. Mengubah nilai di belakang -u ke id pengguna nginx kemudian menyelesaikan masalah ini.

pengguna637338
sumber
0

versi nginx: nginx / 1.13.9 dibangun oleh gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) dibangun dengan OpenSSL 1.1.0g 2 Nov 2017

gunakan saja

user  nobody nogroup;
Rochmad Saputra
sumber
0

Ini adalah perintah yang berfungsi untuk saya "Scientific Linux"

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

atau nama pengguna www-datajika Anda menggunakannya

adduser  --no-create-home  --system  --user-group --shell /bin/false   www-data  
Salem F
sumber
-1

Saya memiliki masalah yang sama ... Saya memilih pengguna "nginx" dan itu tidak ada. Saya memecahkannya mengkonfigurasi ulang dan mengkompilasi ulang NGINX memilih yang sudah ada.

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

Semuanya baik-baik saja sekarang ...

Jorge Luis Guacarán
sumber
Opsi kompilasi adalah cara untuk menetapkan nilai default untuk beberapa arahan. Tentu saja tidak perlu mengkompilasi nginx lagi untuk mengubahnya: nilai-nilai default ini kelebihan beban oleh file konfigurasi.
Xavier Lucas
Tentu saja, tetapi kita sedang berbicara tentang konfigurasi / kompilasi pertama kali ...
Jorge Luis Guacarán
Di mana tepatnya Anda membaca itu? Konfigurasi pertama tidak ada hubungannya dengan kompilasi btw.
Xavier Lucas