रास्पबेरी पाई पर Django विकास सर्वर कनेक्शन से इनकार करता है


1

मेरे पास रास्पबेरी पाई पर चलने वाली एक सरल वेब सेवा है, जो Django डेवलपमेंट सर्वर (मैनेजमेड रनसरोवर) का उपयोग कर रही है। मुझे पता है कि यह काम कर रहा है, क्योंकि जब मैं curl localhost:8000पाई पर चलता हूं, तो मुझे अपनी वेबसाइट की HTML सामग्री मिलती है। जब मैं netstat -tnlपी पर चलता हूं, तो मुझे निम्नलिखित मिलते हैं:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN 

हालाँकि, जब मैं एक ही स्थानीय नेटवर्क पर पाई (उपयोग http://<local IP of the pi>:8000) के रूप में एक अलग कंप्यूटर से वेबसाइट से कनेक्ट करने का प्रयास करता हूं, तो मुझे मिलता है connection refused। (मैंने दोनों curlऔर एक वेब ब्राउज़र की कोशिश की है।)

मैं विशेष रूप से एसएसएच के माध्यम से पाई से कनेक्ट करता हूं, और काम जैसी चीजें curl http://www.google.com, इसलिए मुझे पता है कि पीआई नेटवर्क से जुड़ा हुआ है।

मेरे पास पाई पर रास्पबियन का सबसे हालिया संस्करण है। (मैंने कल ही यह सोचकर इसे पुनः स्थापित किया कि इस समस्या को ठीक किया जा सकता है)

मैं इस वेबसाइट से कैसे जुड़ सकता हूं? क्या मुझे पाई या कुछ पर एक पोर्ट खोलने की आवश्यकता है?

मुझे अपने स्थानीय नेटवर्क के बाहर इस वेब सर्वर से जुड़ने में कोई दिलचस्पी नहीं है, इसलिए मुझे नहीं लगता कि मुझे पोर्ट फ़ॉरवर्डिंग से निपटना चाहिए।


अपना सर्वर शुरू करने के लिए निम्नलिखित कमांड आज़माएं:python manage.py runserver 0.0.0.0:8000

वाह, कि तुरंत इसे ठीक कर दिया। वह काम क्यों किया? ओह, और क्या आप कृपया इसे उत्तर देंगे ताकि मैं इसे स्वीकार कर सकूं? धन्यवाद!
इसका टीटमी

1
मैंने एक उत्तर जोड़ा।

जवाबों:


3

डिफ़ॉल्ट रूप से Django विकास सर्वर 127.0.0.1 के लिए बाध्य है जैसा कि आप स्थानीय पता क्षेत्र में देख सकते हैं । इसका मतलब है कि यह केवल आपके पाई से कनेक्शन स्वीकार करता है।

जब आप 0.0.0.0 ( विकिपीडिया ) का उपयोग करते हैं , तो यह वाइल्डकार्ड की तरह होता है, इसका मतलब है कि आपके स्थानीय नेटवर्क पर हर कोई इसे एक्सेस कर सकता है।

इसलिए अपने सर्वर को किसी अन्य मशीन से एक्सेस करने के लिए आपको निम्न कमांड चलाने की आवश्यकता है python manage.py runserver 0.0.0.0:8000:।

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