2012-11-01 4 views
49

अमेज़ॅन के ईसी 2 पर बहुत सारे Django ऐप परिनियोजन HTTP सर्वर NGINX और Gunicorn का उपयोग करते हैं।समानांतर में चल रहे एनजीआईएनएक्स और गनिकॉर्न का उद्देश्य क्या है?

मैं सोच रहा था कि वे वास्तव में क्या करते हैं और दोनों समानांतर में क्यों उपयोग किए जाते हैं। समानांतर में दोनों को चलाने का उद्देश्य क्या है?

+2

देखें [यह प्रश्न] (http://stackoverflow.com/questions/13004484/deploying-django-with-gunicorn-and-nginx/13004973#13004973) जो टिममी के उत्तर से थोड़ा अधिक विस्तार में जाता है। –

+0

@ बुरहान खालिद धन्यवाद, जिसने – noahandthewhale

उत्तर

65

वे समानांतर में उपयोग नहीं किए जाते हैं। एनजीआईएनएक्स reverse proxy है। यह लाइन में पहली बार है। यह आने वाले कनेक्शन स्वीकार करता है और निर्णय लेता है कि उन्हें आगे कहाँ जाना चाहिए। यह भी (आमतौर पर) सीएसएस, जेएस और छवियों जैसे स्थिर मीडिया की सेवा करता है। यह एसएसएल, कैशिंग इत्यादि के माध्यम से एन्क्रिप्शन जैसी अन्य चीजें भी कर सकता है

गनिकोर्न अगली परत है और application server है। एनजीआईएनएक्स देखता है कि आने वाला कनेक्शन www.domain.com के लिए है और जानता है (कॉन्फ़िगरेशन फाइलों के माध्यम से) कि यह उस कनेक्शन को गनिकोर्न पर पास कर देना चाहिए। Gunicorn एक WSGI सर्वर जो मूल रूप से है एक:

सरल और वेब सर्वर और वेब अनुप्रयोगों या के बीच सार्वभौमिक इंटरफेस चौखटे

Gunicorn की नौकरी का प्रबंधन और Django उदाहरण (रों) (के लिए इसी तरह चलाने के लिए है विकास के दौरान django-admin runserver का उपयोग करके)

इस सेटअप के विपरीत mod_wsgi मॉड्यूल के साथ अपाचे का उपयोग करना है। इस स्थिति में, अनुप्रयोग सर्वर वास्तव में अपाचे का एक हिस्सा है, जो मॉड्यूल के रूप में चल रहा है।

+0

@ टिममी ओ'मोनी की मदद की, wsgi फ़ाइल (django प्रोजेक्ट बनाने के दौरान आने) और गनिकोर्न – Shiva

+3

[यह उत्तर] के बीच क्या अंतर है (http://serverfault.com/questions/220046/why -इस-सेटिंग-nginx-as-a-reverse-proxy-a-good-idea) nginx के विवरण और लाभ में गहराई से चला जाता है। –

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