2011-04-22 7 views
8

मैं nginx संस्करण में इस त्रुटि 1.0.0विन्यास tornadoweb, अज्ञात निर्देश "उपयोगकर्ता"

nginx: [emerg] unknown directive "user" in /etc/nginx/sites-enabled/ 
tornado:1 

यदि मुझे प्रयोक्ता www-डेटा निकालने के कार्यकर्ता प्रक्रियाओं मिला त्रुटि

nginx: [emerg] unknown directive "worker_processes" in /etc/nginx/ 
sites-enabled/tornado:1 
मिल गया है के लिए nginx सेटिंग असफल

मैं गूगल पर खोज कर दिया है, लेकिन अभी भी कुछ नहीं मिला कृपया मदद

इस साइट से उपलब्ध

में मेरे बवंडर है 0
user www-data www-data; 
worker_processes 1; 

error_log /var/log/nginx/error.log; 
pid /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
    use epoll; 

} 

http { 
    # Enumerate all the Tornado servers here 
    upstream frontends { 
     server 127.0.0.1:8081; 
     server 127.0.0.1:8082; 
     server 127.0.0.1:8083; 
     server 127.0.0.1:8084; 
    } 

    include /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    access_log /var/log/nginx/access.log; 

    keepalive_timeout 65; 
    proxy_read_timeout 200; 
    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 
    gzip on; 
    gzip_min_length 1000; 
    gzip_proxied any; 
    gzip_types text/plain text/html text/css text/xml 
       application/x-javascript application/xml 
       application/atom+xml text/javascript; 

    # Only retry if there was a communication error, not a timeout 
    # on the Tornado server (to avoid propagating "queries of death" 
    # to all frontends) 
    proxy_next_upstream error; 

    server { 
     listen 8080; 

     # Allow file uploads 
     client_max_body_size 50M; 

     location ^~ /static/ { 
      root /var/www; 
      if ($query_string) { 
       expires max; 
      } 
     } 
     location = /favicon.ico { 
      rewrite (.*) /static/favicon.ico; 
     } 
     location = /robots.txt { 
      rewrite (.*) /static/robots.txt; 
     } 

     location/{ 
      proxy_pass_header Server; 
      proxy_set_header Host $http_host; 
      proxy_redirect false; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Scheme $scheme; 
      proxy_pass http://frontends; 
     } 
    } 

} 

उत्तर

16

शायद थोड़ा समय से अपेक्षित है, लेकिन अगर किसी को भी इस पर ठोकर यहाँ एक संकेत है:

शायद विन्यास टक्कर, में/etc/nginx ही निर्देश के साथ एक .conf फ़ाइल के लिए जाँच करें।

+0

मैं गलती से /etc/nginx/*.conf को /etc/nginx/nginx.conf के अंदर शामिल कर रहा था जिसके कारण एक समावेश लूप हुआ। और जब मैंने आपकी सलाह का पालन किया तो मुझे रिकर्सन मिला। धन्यवाद! – Robert

1

सिर्फ केजेटिल एम के जवाब पर विस्तार करना चाहते हैं, क्योंकि यह मेरे लिए काम करता था लेकिन मुझे तुरंत इसका अर्थ नहीं मिला। मैं तब तक नहीं था जब तक मैंने समस्या को ठीक नहीं किया और "ओह यही वह था जिसका मतलब था" माँ।

यदि आपका /etc/nginx/nginx.conf फ़ाइल और अन्य config फ़ाइलों में से एक/etc/nginx/साइटों सक्षम/इस तरह के "उपयोगकर्ता" के रूप में ही निर्देश का उपयोग करें, तो आपको यह त्रुटि में चला जाएगा। बस सुनिश्चित करें कि केवल 1 संस्करण सक्रिय है और अन्य लोगों को टिप्पणी करें।

4

जांच के लायक भी है, यह है कि nginx.conf में "शामिल" रेखा है या नहीं। यह बहुत आम है और टकराव का स्रोत है।

उदाहरण के लिए।

[email protected]:~/$ cat /etc/nginx/nginx.conf | grep include 
include /etc/nginx/mime.types; 
include /etc/nginx/conf.d/.conf; 
include /etc/nginx/sites-enabled/; 

इस मामले में, में एक निर्देश/etc/nginx/साइटों सक्षम/nginx.conf की सामग्री के साथ संघर्ष होगा। सुनिश्चित करें कि आप शामिल फ़ाइलों के बीच कुछ भी डबल नहीं करते हैं।

0

worker_ * निर्देशों विन्यास के शीर्ष पर होना चाहिए, कि साधन /etc/nginx/nginx.conf

उदाहरण में होना चाहिए: मेरे बातें पहली बार पंक्तियां हैं:

user www-data; 
worker_processes 4; 
worker_connections 1024; 

यदि आप जानना चाहते हैं कि आपके सर्वर के लिए कितने कर्मचारी सर्वश्रेष्ठ हैं तो आप यह आदेश चला सकते हैं:

grep processor /proc/cpuinfo | wc -l 

यह आपको बताता है कि आपके पास कितने कोर हैं, यह वेबसाइटों के लिए कोर की तुलना में अधिक श्रमिकों को समझ में नहीं आता है।

यदि आप जानते हैं कि कितने कनेक्शन अपने कार्यकर्ताओं आप इस का उपयोग कर सकते संभाल कर सकते हैं हैं:

ulimit -n 

आशा है कि यह मदद करता है।

0

मैं एक ही त्रुटि हो रही थी, लेकिन जब मैं

nginx -c conf.d/MyApp के रूप में -c विकल्पों के साथ nginx शुरू कर दिया।conf

यह ठीक

0

एक और बात काम आप Windows पर कॉन्फ़िग फ़ाइल बना लिया है और लिनक्स पर में उपयोग कर रहे हैं, सुनिश्चित करें कि लाइन अंत सही ("\ r \ n" बनाम "कर रहे हैं \ आर ") और यह कि फ़ाइल यूनिकोड के रूप में संग्रहीत नहीं है।

संबंधित मुद्दे