उपयोगकर्ता के साथ nginx प्रक्रिया क्यों चलती है


16

मैं अपने एक रेल एप्लिकेशन के साथ चलने के लिए nginx को सेटअप करने की कोशिश कर रहा था, जब आउटपुट के लिए एक नज़र होने पर ps -e | grep nginx, मुझे एहसास हुआ कि nginx कार्यकर्ता प्रक्रियाओं को उपयोगकर्ता किसी के साथ नहीं चलता है।

क्या कोई कारण है कि वे www-data के रूप में नहीं चल रहे हैं?


1
एक वाजिब प्रश्न लगता है जिसके कारण एक जानकारीपूर्ण उत्तर मिला - प्रश्नकर्ता को एक बिंदु क्यों दिया गया?
notapatch

जवाबों:


25

क्या कोई कारण है कि वे www-data के रूप में नहीं चल रहे हैं?

हाँ। आपने अपने nginx config में उपयोगकर्ता को सबसे अधिक निर्दिष्ट नहीं किया है

प्रयोक्ता निर्देश: http://nginx.org/en/docs/ngx_core_module.html#user

syntax: user user [group];
default:    
user nobody nobody;
context:    main

कैसे एक विशेष उपयोगकर्ता के रूप में nginx चलाने के लिए?

आप उस उपयोगकर्ता / समूह को निर्दिष्ट कर सकते हैं जो nginx के रूप में चलता है, nginx कॉन्फ़िगरेशन में।

यह एक उदाहरण है कि nginx config कैसा दिख सकता है (उपयोगकर्ता निर्देश देखें):

pid                 /path/to/nginx.pid;
user                www-data www-data;
worker_processes    1;

events {
   worker_connections  1024; # usually 1024 is a good default
}

http {
   # more code goes here
}

बस अपने कॉन्फिगरेशन को अपडेट करें और फिर नॉगक्स को फिर से लोड या रीस्टार्ट करें और आपको जाना अच्छा होना चाहिए।

बेशक, आपको उस उपयोगकर्ता को चुनना चाहिए जो आपके सिस्टम के लिए सबसे अच्छा काम करता है, डेबियन / उबंटू में डिफ़ॉल्ट रूप से एक www-data है, इसलिए यह एक समझदार विकल्प है।


www-data मेरी समझ के बजाय स्वामी / समूह / var / www का है और यह nginx प्रक्रिया के लिए एक ही उपयोगकर्ता का उपयोग करने के लिए एक अच्छा विचार नहीं है ( stackoverflow.com/questions/22336186/… ) apt के माध्यम से nxx की एक नई स्थापना डेबियन पर उपयोगकर्ता nginx का उपयोग करता है। शायद आप nginx उपयोगकर्ता का उपयोग करने के लिए उदाहरण बदलना चाहते हैं।
बाइनरीनोमली

4

मास्टर प्रक्रिया, रूट के रूप में चलाया जाता है तो nginx होगा setuid()/ setgid()के लिए USER/ GROUP। यदि GROUPनिर्दिष्ट नहीं है, तो nginx उसी नाम का उपयोग करता है जैसे USER

डिफ़ॉल्ट रूप से यह nobodyउपयोगकर्ता और स्क्रिप्ट से nobodyया समूह से --user=USERऔर nogroup है ।--group=GROUP./configure

आप nginx.conf और संपादित कर सकते हैं set user to www www;

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