অতিরিক্ত মাত্রায় সরলীকৃত: আপনার এমন কিছু দরকার যা পাইথনকে কার্যকর করে তবে পাইথন সমস্ত ধরণের অনুরোধগুলি পরিচালনা করার ক্ষেত্রে সেরা নয়।
[অস্বীকৃতি: আমি একজন গ্যানিকর্ন বিকাশকারী]
কম সরলীকৃত: আপনি যে অ্যাপ্লিকেশন সার্ভারটি ব্যবহার করুন না কেন (গ্যানিকর্ন, মোড_উজগি, মোড_উউসগি, চেরিপি) যে কোনও ধরণের অপ্রয়োজনীয় মোতায়েনের ক্ষেত্রে কিছু প্রবাহ থাকবে যা আপনার জাঙ্গো অ্যাপ্লিকেশনটি পরিচালনা করা উচিত নয় এমন অনুরোধগুলি পরিচালনা করবে। এই জাতীয় অনুরোধগুলির তুচ্ছ উদাহরণগুলি স্থির সম্পদ (চিত্র / সিএসএস / জেএস) সরবরাহ করে।
এটি ক্লাসিক "তিন স্তরের আর্কিটেকচার" এর দুটি প্রথম স্তরের ফলাফল। অর্থাত, ওয়েবসার্ভার (আপনার ক্ষেত্রে Nginx) চিত্র এবং স্থিতিশীল সংস্থানগুলির জন্য অনেক অনুরোধ পরিচালনা করবে। যে অনুরোধগুলি গতিশীলরূপে উত্পন্ন করতে হবে তার পরে অ্যাপ্লিকেশন সার্ভারে দেওয়া হবে (আপনার উদাহরণে গ্যানিকর্ন)। (একদিকে যেমন তিন স্তরের তৃতীয়টি হ'ল ডাটাবেস)
.তিহাসিকভাবে বলতে গেলে, এই স্তরগুলির প্রতিটি পৃথক মেশিনে হোস্ট করা হবে (এবং সম্ভবত প্রথম দুটি স্তরের একাধিক মেশিন থাকবে, যেমন: 5 টি ওয়েব সার্ভার দুটি অ্যাপ্লিকেশন সার্ভারের জন্য অনুরোধ প্রেরণ করে যা একক ডাটাবেসকে জিজ্ঞাসা করে)।
আধুনিক যুগে আমাদের কাছে এখন সমস্ত আকার এবং আকারের অ্যাপ্লিকেশন রয়েছে। প্রতি উইকএন্ড প্রকল্প বা ছোট ব্যবসায়ের সাইটকে একাধিক মেশিনের অশ্বশক্তি প্রয়োজন হয় না এবং একক বাক্সে বেশ আনন্দের সাথে চলবে। এটি হোস্টিং সমাধানের অ্যারেতে নতুন এন্ট্রি তৈরি করেছে। কিছু সমাধান অ্যাপ্লিকেশন সার্ভারকে ওয়েব সার্ভারে বিবাহ করবে (অ্যাপাচি httpd + Mod_wsgi, Nginx + mod_uwsgi, ইত্যাদি)। এবং এই ওয়েব / অ্যাপ্লিকেশন সার্ভার সংমিশ্রণের মধ্যে একটি হিসাবে একই মেশিনে ডাটাবেস হোস্ট করা মোটেই অস্বাভাবিক নয়।
গুনিকর্নের ক্ষেত্রে এখন আমরা একটি নির্দিষ্ট সিদ্ধান্ত নিয়েছি (রুবির ইউনিকর্ন থেকে অনুলিপি করে) Nginx এর প্রক্সিং আচরণের উপর নির্ভর করে জিনিসগুলিকে Nginx থেকে আলাদা রাখতে। বিশেষত, আমরা যদি ধরে নিতে পারি যে গুনিকর্ন কখনই সরাসরি ইন্টারনেট থেকে সংযোগগুলি পড়তে পারে না, তবে আমাদের ক্লায়েন্টগুলি ধীরে ধীরে ধীরে ধীরে বেড়েছে worry এর অর্থ হ'ল গুনিকর্নের প্রসেসিং মডেলটি বিব্রতকরভাবে সহজ।
এই বিভাজনটি গুনিকর্নকে খাঁটি পাইথনে লেখার অনুমতি দেয় যা উন্নয়নের ব্যয়কে হ্রাস করে যখন উল্লেখযোগ্য পারফরম্যান্সকে প্রভাবিত করে না। এটি ব্যবহারকারীদের অন্যান্য প্রক্সি ব্যবহার করার ক্ষমতাও দেয় (তারা সঠিকভাবে বাফার করে ধরে নিচ্ছে)।
এইচটিটিপি অনুরোধটি আসলে কী পরিচালনা করে তা সম্পর্কে আপনার দ্বিতীয় প্রশ্নের বিষয়ে, এর সহজ উত্তরটি গুনিকর্ন। সম্পূর্ণ উত্তর হ'ল Nginx এবং গ্যানিকর্ন অনুরোধটি পরিচালনা করে। মূলত, এনগিনেক্স অনুরোধটি গ্রহণ করবে এবং যদি এটি একটি গতিশীল অনুরোধ (সাধারণত ইউআরএল প্যাটার্নের উপর ভিত্তি করে) হয় তবে এটি সেই অনুরোধটি গ্যানিকর্নকে দেবে, যা এটি প্রক্রিয়া করবে এবং তারপরে Nginx এর প্রতিক্রিয়া ফিরিয়ে দেবে যা তারপরে প্রতিক্রিয়াটি মূলটিতে ফিরে পাঠায় ক্লায়েন্ট।
তাই বন্ধ, হ্যাঁ। যথাযথ জ্যাঙ্গো স্থাপনার জন্য আপনার উভয়ই এনগিনেক্স এবং গ্যানিকর্ন (বা অনুরূপ কিছু) দরকার। আপনি যদি বিশেষভাবে জাঙ্গোকে এনগিনেক্সের সাথে হোস্ট করতে চান তবে আমি জ্যাঙ্গো দিকের প্রার্থী হিসাবে গুনিকর্ন, মোড_উউসগি এবং সম্ভবত চেরিপাই তদন্ত করব।