2012-07-17 15 views
6

मैं अपने डीजेगो वेबसाइट (1.4 संस्करण) को सर्वर करने के लिए uWSGI और Nginx का उपयोग कर रहा हूं। मेरी फ़ाइल संरचना django_mysite/django_mysite/जिसमें एक wsgi.py फ़ाइल है।
मुझे 502 खराब गेटवे त्रुटियां मिल रही हैं। मेरे पास अन्य सर्वर nginx चल रहे हैं और वे ठीक काम कर रहे हैं।nginx django 502 खराब गेटवे

मेरे nginx config:

server { 
    listen  80; 
    server_name beta.example.com; 

    keepalive_timeout 70; 

    root /path/to/django_mysite/django_mysite; 


    location root { 
     root html; 
     uwsgi_pass localhost:9000; 
     uwsgi_param UWSGI_SCRIPT django_wsgi; 
     include  uwsgi_params; 
    } 

    location/{ 
     uwsgi_pass localhost:9000; 
     include  uwsgi_params; 
     uwsgi_param SCRIPT_NAME /django; 
     uwsgi_param UWSGI_SCRIPT django_wsgi; 
     uwsgi_modifier1 30; 
    } 
} 

मेरे wsgi.py फ़ाइल: आयात sys आयात ओएस

sys.path.append('/path/to/django_mysite/') 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_mysite.settings") 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

लॉग में त्रुटि है:

*3 recv() failed (104: Connection reset by peer) while reading response header from upstream 

धन्यवाद

+0

लॉग क्या कहते हैं? –

+0

* 42 कनेक्ट() यूनिक्स के लिए: ///tmp/uwsgi.sock विफल (2: ऐसी कोई फ़ाइल या निर्देशिका नहीं) अपस्ट्रीम से कनेक्ट करते समय –

उत्तर

1

मुझे जो समाधान मिला वह यह था: uwsgi.ini फ़ाइल जिसे मैंने यूवीजीआई श्रमिक बनाने के लिए बनाया है, ने सॉकेट निर्दिष्ट नहीं किया था। तो मैंने एक और .ini फ़ाइल बनाई और इसके लिए एक सॉकेट बनाया। उसी सॉकेट I ने ugsgi_pass के तहत nginx conf फ़ाइल में रखा था। Uwsgi को कॉन्फ़िगर करने के लिए django के वेबपृष्ठों का एक लिंक यहां दिया गया है।

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/

1

मैं एक ही मुद्दे का सामना करना पड़ रहा था, लेकिन मैं निम्नलिखित तरीके से इसे बाहर figered।

यदि आपकी परियोजना में तृतीय पक्ष ऐप शामिल है तो यह आपके सर्वर पर भी स्थापित होना चाहिए जैसे दक्षिण तीसरा पक्ष ऐप भी है। दक्षिण में विचार करें आपकी सेटिंग्स.py फ़ाइल में शामिल है तो दक्षिण को भी आपके सर्वर पर इंस्टॉल किया जाना चाहिए। यदि वह मॉड्यूल यहां दक्षिण पर विचार करता है, तो पहले से ही सर्वर पर स्थापित है, फिर इसे अपग्रेड करने का प्रयास करें। क्योंकि यह संभव है कि आप स्थानीय मशीन पर मॉड्यूल के अपग्रेड किए गए संस्करण का उपयोग कर रहे हैं और पुराने संस्करण सर्वर में स्थापित है।

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