getpwnam ("www") /etc/nginx/nginx.conf में विफल रहा


24

मैंने अपने ubuntu 12.04 बॉक्स पर nginx.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 का लिंक टूट गया है
जोश

जवाबों:


33

आपके द्वारा अपने कॉन्फ़िगरेशन में निर्दिष्ट उपयोगकर्ता wwwमौजूद नहीं है। या तो उपयोगकर्ता बनाएं, या ऐसा उपयोगकर्ता चुनें जो मौजूद है।


3
वाक्यविन्यास है: useradd www
जोंसोम पुनः स्थापित करें मोनिका

8

आपका दूसरा विकल्प (यदि आप एक नया उपयोगकर्ता नहीं बनाना चाहते हैं) nginx.conf में उपयोगकर्ता फ़ील्ड को प्रतिस्थापित करना है:

user nobody;

3

wwwउपयोगकर्ता बनाएँ । Ubuntu पर यह निम्नलिखित कमांड और झंडे का उपयोग करके किया जाना चाहिए:

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

0

जबकि माइकल हैम्पटन का उत्तर सही है, यह उत्तर का केवल एक हिस्सा है। एक और पूर्ण संस्करण होगा:

  1. यदि उपयोगकर्ता मौजूद है, तो जांचें
  2. यह भी जांचें कि डॉकटर को शुरू करने के लिए आप किस उपयोगकर्ता का उपयोग करते हैं

यदि तुम करो:

docker -u 0 ....

यदि उपयोगकर्ता होस्ट सिस्टम पर मौजूद है, तब भी वही संदेश दिखाई देगा। उपयोगकर्ता nginx की आईडी के पीछे -u का मान बदलना तब इस समस्या को हल करता है।


0

nginx संस्करण: nginx / 1.13.9 gcc 5.4.0 20160609 द्वारा निर्मित (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) OpenSSL 1.1.0g 2 Nov 2017 के साथ बनाया गया

महज प्रयोग करें

user  nobody nogroup;

0

यह वह कमांड है जो मेरे लिए "साइंटिफिक लिनक्स" का काम करती है

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" उपयोगकर्ता को चुना और यह मौजूद नहीं था। मैंने इसे सुलझाया और एनजीआईएनएक्स को फिर से चुनना एक मौजूदा का चयन किया।

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

अब सब ठीक है...


संकलन विकल्प कुछ निर्देशों के लिए डिफ़ॉल्ट मान सेट करने का एक तरीका है । यह निश्चित रूप से इन्हें बदलने के लिए फिर से nginx संकलन करने के लिए आवश्यक नहीं है: ये डिफ़ॉल्ट मान कॉन्फ़िगरेशन फ़ाइलों द्वारा अतिभारित हैं।
जेवियर लुकास

बेशक, लेकिन हम पहली बार संगम / संकलन के बारे में बात कर रहे हैं ...
जॉर्ज लुइस गुआकारन

आपने यह कहां पढ़ा है? पहले कॉन्फ़िगरेशन का संकलन btw से कोई लेना-देना नहीं है।
जेवियर लुकास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.