इस मामले में एनजीआईएनएक्स केवल रिवर्स प्रॉक्सी के रूप में काम करता है और स्थिर फाइलों को डायनामिक फ़ाइलों को प्रस्तुत नहीं करता है, यह अनुरोधों को प्राप्त करता है और उन्हें एप्लिकेशन सर्वर पर प्रॉक्सी करता है, जो कि UWSGI होगा।
UWSGI सर्वर WSGI इंटरफ़ेस का उपयोग करके आपके फ्लास्क एप्लिकेशन को लोड करने के लिए जिम्मेदार है। आप वास्तव में इंटरनेट से अनुरोधों को सीधे सुन सकते हैं और यदि आप चाहें तो एनजीआईएनएक्स को हटा सकते हैं, हालांकि यह ज्यादातर रिवर्स प्रॉक्सी के पीछे उपयोग किया जाता है।
से डॉक्स :
uWSGI वेब सर्वर के साथ एकीकरण के कई तरीकों का समर्थन करता है। यह स्वयं के द्वारा HTTP अनुरोधों की सेवा करने में भी सक्षम है।
डब्ल्यूएसजीआई सिर्फ एक इंटरफ़ेस विनिर्देश है, सरल शब्दों में, यह आपको बताता है कि सर्वर और एप्लिकेशन के बीच अनुरोधों और प्रतिक्रियाओं को पारित करने के लिए क्या तरीके लागू किए जाने चाहिए। फ्लास्क या Django जैसे फ्रेमवर्क का उपयोग करते समय, यह फ्रेमवर्क द्वारा ही नियंत्रित किया जाता है।
दूसरे शब्दों में, WSGI मूल रूप से अजगर अनुप्रयोगों (फ्लास्क, Django, आदि) और वेब सर्वर (UWSGI, Gunicorn, आदि) के बीच एक अनुबंध है। लाभ यह है कि आप वेब सर्वर को थोड़े प्रयास से बदल सकते हैं क्योंकि आप जानते हैं कि वे WSGI विनिर्देश का अनुपालन करते हैं, जो वास्तव में लक्ष्यों में से एक है, जैसा कि PEP-333 में कहा गया है ।
पायथन वर्तमान में Zope, Quixote, Webware, SkunkWeb, PSO, और Twisted Web जैसे कई तरह के वेब एप्लिकेशन फ्रेमवर्क समेटे हुए है - केवल कुछ 1 को नाम देने के लिए । नए पाइथन उपयोगकर्ताओं के लिए इस तरह की व्यापक विविधताएं एक समस्या हो सकती हैं, क्योंकि आम तौर पर बोलते हुए, उनकी वेब फ्रेमवर्क की पसंद उनके उपयोग योग्य वेब सर्वरों की पसंद को सीमित कर देगी, और इसके विपरीत।