ইউডাব্লুএসজিআইয়ের মূল বক্তব্য কী?


97

আমি ডাব্লুএসজিআই স্পেসিফিকেশনটি দেখছি এবং আমি ইউডাব্লুএসজিআইয়ের মতো সার্ভারগুলি কীভাবে ছবিতে ফিট করে তা নির্ধারণ করার চেষ্টা করছি । আমি বুঝেছি যে ডাব্লুএসজিআই স্পেকের মূল বিষয়টি হ'ল এনগিনেক্সের মতো ওয়েব সার্ভারগুলিকে ওয়েব অ্যাপ্লিকেশন থেকে আলাদা করা যা আপনি ফ্লাস্ক ব্যবহার করে লিখতে চান । আমি যা বুঝতে পারি না তা হ'ল ইউডাব্লুএসএসআই এর জন্য। Nginx কেন সরাসরি আমার ফ্লাস্ক অ্যাপ্লিকেশনটিতে কল করতে পারে না? ফ্লাস্ক ডাব্লুএসজিআই সরাসরি এটিতে কথা বলতে পারে না? ইউডব্লিউএসজিআইয়ের কেন তাদের মধ্যে toোকার দরকার?

ডাব্লুএসজিআই স্পেসে দুটি দিক রয়েছে: সার্ভার এবং ওয়েব অ্যাপ্লিকেশন। UWSGI কোন দিকে আছে?

উত্তর:


131

ঠিক আছে, আমার মনে হয় আমি এখন এটি পেয়েছি।

Nginx কেন সরাসরি আমার ফ্লাস্ক অ্যাপ্লিকেশনটিতে কল করতে পারে না?

কারণ nginxডাব্লুএসজিআই অনুমান সমর্থন করে না। প্রযুক্তিগতভাবে এনগিনেক্স WSGIতারা চাইলে অনুমানটি বাস্তবায়ন করতে পারে , তারা কেবল তা করেনি।

এটি হ'ল আমাদের একটি ওয়েব সার্ভারের দরকার যা অনুমানটি কার্যকর করে, যা uWSGIসার্ভারের জন্য।

মনে রাখবেন যে uWSGIএটি একটি সম্পূর্ণ প্রসারিত HTTP সার্ভার যা নিজেরভাবে ভালভাবে কাজ করতে পারে এবং করতে পারে। আমি এই ক্ষমতাটি বেশ কয়েকবার ব্যবহার করেছি এবং এটি দুর্দান্ত কাজ করে। যদি আপনার স্ট্যাটিক সামগ্রীর জন্য সুপার হাই হাই থ্রুপুট দরকার হয় তবে nginxআপনার uWSGIসার্ভারের সামনে স্টিকিংয়ের বিকল্প রয়েছে । আপনি যখন করবেন, তারা নিম্ন স্তরের প্রোটোকল হিসাবে পরিচিত হিসাবে পরিচিত হবে uwsgi

"কিসের?! আরেকটি জিনিসকে বলা হয় উউসগি ?!" আপনি জিজ্ঞাসা করুন। হ্যাঁ, এটি বিভ্রান্তিকর। আপনি রেফারেন্স যখন আপনি uWSGIএকটি HTTP সার্ভার সম্পর্কে কথা বলছেন। আপনি যখন uwsgi(সমস্ত ছোট ছোট) কথা বলছেন আপনি যখন বাইনারি প্রোটোকল সম্পর্কে কথা বলছেন যা uWSGI সার্ভার অন্যান্য সার্ভারের মতো কথা বলার জন্য ব্যবহার করে nginx। তারা এটির একটি খারাপ নাম বেছে নিয়েছে।

যে কারও আগ্রহী, আমি এটি সম্পর্কে আরও সুনির্দিষ্ট, কিছু ইতিহাস এবং কয়েকটি উদাহরণ সহ একটি ব্লগ নিবন্ধ লিখেছিলাম ।


4
এইচটিটিপি সার্ভার হিসাবে ওয়ার্কজেগের সাথে ফ্লাস্ক অ্যাপ্লিকেশনগুলি চালানো সম্ভব তবে এটি উত্পাদন প্রস্তুত সেটআপ নয়। ইউডাব্লুএসজিআই একাধিক সমস্যা সমাধান করে: * এইচটিটিপি পার্সিং (সি তে দ্রুত) এবং ডাব্লুএসজিআই অ্যাপ্লিকেশনটির সাথে ইন্টারফেসিং * আরও ভাল সম্মতির জন্য একাধিক প্রক্রিয়া / থ্রেডগুলিতে অ্যাপ্লিকেশন চালু করেছে * ডাব্লুএসজিআই অ্যাপসের তত্ত্বাবধায়ক হিসাবে কাজ করে
সের্গে পানফিলভ

@ সের্গেইপানফিলভ সমস্যাটি কি আমরা জানি না যে উউসগি কীভাবে ফ্লাস্কের সাথে লেনদেন করছেন, প্রতিটি প্রক্রিয়া / থ্রেড ফ্লাস্ক অ্যাপের একটি উদাহরণ তৈরি করেছে? আমি ফ্লাস্ক-এক্সিকিউটারের মতো ফ্লাস্কে ব্যাকগ্রাউন্ড টাস্কের জন্য কিছু বাস্তবায়ন দেখেছি এবং এটি একটি অনুরোধের সাথে আবদ্ধ হতে হবে। প্রসঙ্গে বাইরে থাকতে পারে না।
টমসওয়ায়ার

হাসানের কাছ থেকে উত্তরটি পড়ুন .. এটি সঠিক উত্তরের কাছাকাছি ..... HTTP সার্ভারগুলি বেশিরভাগ সিতে লেখা হয় এবং তারা পাইথন
ব্যাকেন্ডের

25

এই ক্ষেত্রে এনজিআইএনএক্স কেবল একটি বিপরীত প্রক্সি হিসাবে কাজ করে এবং স্ট্যাটিক ফাইলগুলি ডায়নামিক ফাইলগুলি নয় রেন্ডার করে , এটি অনুরোধগুলি গ্রহণ করে এবং তাদের অ্যাপ্লিকেশন সার্ভারে প্রক্সি দেয়, এটি ইউডাব্লুএসজিআই হবে।

ডাব্লুএসজিআই ইন্টারফেস ব্যবহার করে আপনার ফ্লাস্ক অ্যাপ্লিকেশনটি লোড করার জন্য ইউডাব্লুএসজিআই সার্ভার দায়বদ্ধ। আপনি আসলে ইউডাব্লুএসজিআইকে সরাসরি ইন্টারনেট থেকে অনুরোধগুলি শুনতে এবং আপনার পছন্দ মতো এনজিআইএনএক্স সরাতে পারেন, যদিও এটি বেশিরভাগ বিপরীত প্রক্সিটির পিছনে ব্যবহৃত হয়।

ডক্স থেকে :

uWSGI ওয়েব সার্ভারের সাথে সংহত করার বিভিন্ন পদ্ধতি সমর্থন করে। এটি নিজে থেকে HTTP অনুরোধগুলি সরবরাহ করতে সক্ষম serving

ডাব্লুএসজিআই হ'ল একটি ইন্টারফেস স্পেসিফিকেশন, সহজ কথায়, এটি আপনাকে জানায় যে সার্ভার এবং অ্যাপ্লিকেশনগুলির মধ্যে অনুরোধ এবং প্রতিক্রিয়াগুলি পাস করার জন্য কোন পদ্ধতিগুলি প্রয়োগ করা উচিত। ফ্লাস্ক বা জ্যাঙ্গোর মতো ফ্রেমওয়ার্কগুলি ব্যবহার করার সময় এটি ফ্রেমওয়ার্ক নিজেই পরিচালনা করে।

অন্য কথায়, ডাব্লুএসজিআই মূলত পাইথন অ্যাপ্লিকেশন (ফ্লাস্ক, জ্যাঙ্গো, ইত্যাদি) এবং ওয়েব সার্ভারের (ইউডাব্লুএসজিআই, গুনিকর্ন ইত্যাদি) মধ্যে একটি চুক্তি। সুবিধাটি হ'ল আপনি সামান্য পরিশ্রমের সাথে ওয়েব সার্ভারগুলি পরিবর্তন করতে পারেন কারণ আপনি জানেন যে তারা ডাব্লুএসজিআই স্পেসিফিকেশন মেনে চলে, যা আসলে লক্ষ্যগুলির মধ্যে একটি, পিইপি -৩৩৩-তে বর্ণিত হিসাবে ।

পাইথন বর্তমানে বিস্তৃত বিভিন্ন ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক যেমন জোপ, কুইক্সোট, ওয়েবওয়্যার, স্কানক ওয়েব, পিএসও এবং টুইস্টেড ওয়েব - এর নাম মাত্র কয়েকটি 1 রেখেছিল । নতুন পাইথন ব্যবহারকারীদের জন্য এই বিস্তৃত পছন্দগুলি সমস্যা হতে পারে, কারণ সাধারণভাবে বলতে গেলে, তাদের ওয়েব ফ্রেমওয়ার্কের পছন্দটি তাদের ব্যবহারযোগ্য ওয়েব সার্ভারগুলির পছন্দকে সীমাবদ্ধ করবে এবং বিপরীতে।


20

একটি traditionalতিহ্যবাহী ওয়েব সার্ভার পাইথন অ্যাপ্লিকেশনগুলি চালানোর কোনও উপায় বুঝতে পারে না বা নেই। এজন্য ডাব্লুএসজিআই সার্ভারটি আসে the অন্যদিকে এনগিনেক্স অনুরোধগুলি পরিচালনা করতে এবং পাইথন ডাব্লুএসজিআই সার্ভারগুলির জন্য প্রতিক্রিয়াগুলি ফিরিয়ে দেওয়ার জন্য বিপরীত প্রক্সি সমর্থন করে।

এই লিঙ্কটি আপনাকে সহায়তা করতে পারে: https://www.fullstackpython.com/wsgi-servers.html


4
এখানে তিনটি জিনিস রয়েছে: এনজিনেক্স, ইউউজি এবং ফ্লাস্ক। ডাব্লুএসজিআই অনুমানের প্রসঙ্গে এটি কীভাবে একসাথে খাপ খায়? সার্ভার এবং উউগজি কি অ্যাপ্লিকেশনটি হ'ল অ্যাপ্লিকেশনটি নাকি উউজি সার্ভার এবং অ্যাপটি ফ্লাস্ক?
d512

uWSGI হ'ল সার্ভার এবং ফ্লাস্ক অ্যাপ।
রফিকুল হাসান

ঠিক আছে, আপনি যদি আপত্তি না করেন তবে আমার নিজের প্রশ্নের আমার উত্তরটি দেখুন এবং আপনি কী মনে করেন তা দেখুন।
d512

4
একটি ওয়েব সার্ভার পাইথন অ্যাপ্লিকেশনগুলি কেন বুঝতে পারে না? এটি পিএইচপি বুঝতে পারে, পাইথন বা অন্যান্য ভাষা কেন নয়?
jdogg

0

সরল কথায়, আপনি এমন একটি সাদৃশ্যটি ভাবুন যেখানে আপনি এনজিঙ্ক্স ওয়েব সার্ভারের সাথে সিজিআই বা পিএইচপি অ্যাপ্লিকেশন চালাচ্ছেন। আপনি এই ফাইলগুলি চালনার জন্য পিএইচপি-এফপিএম এর মতো সম্পর্কিত হ্যান্ডলারগুলি ব্যবহার করবেন যেহেতু ওয়েবসার্ভারের আদি আকারে এই ফর্ম্যাটগুলি রেন্ডার করে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.