চেরিপি অ্যাপ্লিকেশন স্থাপন করছে: স্ট্যান্ডেলোন, ডাব্লুএসজিআই সার্ভার বা এনজিঞ্জ?


11

আমি একাধিক লো ট্রাফিক চেরিপাই অ্যাপ্লিকেশনগুলিকে উপ-ডিরেক্টরি হিসাবে স্থাপন করার জন্য একটি একক ভিপিএস ব্যবহার করার ইচ্ছা করি; উদাহরণ: example.com/app1, example.com/app2, ইত্যাদি

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

আমি তিনটি বিকল্প দেখতে পাচ্ছি:

  • চেরিপাই নিজেই মোতায়েন করুন।
  • গ্যানিকর্ন বা অন্য কোনও ডাব্লুএসজিআই সার্ভারের নীচে স্থাপন করুন।
  • ডাব্লুএসজিআই সার্ভারের নীচে মোতায়েন করুন এবং এনজিঙ্কে রিভার্স-প্রক্সি করুন, যা সবার সমাধান বলে মনে হয়।

আমার প্রশ্নগুলো:

  • আমি এই প্যাটার্নটি যে কোথাও দেখছি তার মূল কারণ কী? এনজিঙ্কস কি ঠিক এটি ভাল?
  • কম ট্র্যাফিক অ্যাপের জন্য, দেশীয় চেরিপাই সার্ভারটি কি যথেষ্ট ভাল, বা আমার চেষ্টাও করা উচিত নয়?

যে কোনও এবং সমস্ত পরামর্শ প্রশংসা করা হয়, আপনাকে ধন্যবাদ।

উত্তর:


9

প্রত্যেকে নিজের অ্যাপ সার্ভারের সামনে এনগিনেক্স (বা অন্য সার্ভার যেমন অ্যাপাচি) রাখার কারণটি হ'ল প্রত্যেকেরই চিত্র, সিএসএস এবং জাভাস্ক্রিপ্টের মতো স্থির সামগ্রী রয়েছে এবং অদ্ভুত প্রয়োজনীয়তা যা তাদের অ্যাপ্লিকেশনটির জন্য অনন্য।

আপনার অ্যাপ্লিকেশন সার্ভার (চেরিপি, গ্যানিকর্ন, যাই হোক না কেন) আপনার অ্যাপ্লিকেশনটি চালিত করতে এবং এর আউটপুট পরিবেশন করতে অনুকূলিত। অ্যাপ্লিকেশন সার্ভার স্থিতিশীল বিষয়বস্তুও পরিবেশন করতে পারে তবে অ্যাপ্লিকেশন সার্ভারের মূল উদ্দেশ্যে এটি গৌণ হওয়ায় তারা প্রায়শই এই কাজের জন্য অনুকূল নয়। (কিছু অ্যাপ্লিকেশন সার্ভারগুলি আপনার সিএসএস এবং জেএসকে সংক্ষিপ্তকরণ ও সংমিশ্রণ করেও সহায়তা করবে, যাতে সম্মুখের ওয়েব সার্ভারটি এই সংস্থানগুলিকে আরও দ্রুত পরিবেশন করতে পারে))

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

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


উত্তম উত্তর, প্লাস বেশিরভাগ ওয়েব সার্ভারে দুর্দান্ত লগিং সুবিধা রয়েছে।
ড্যানিলা লাডনার

9

লোকেরা কেন Nginx সামনে রাখে?

  1. এনগিনেক্স একটি অ্যাসিক্রোনাস ওয়েব-সিভার। এর অর্থ এটি সংযোগ প্রতি কোনও থ্রেড বা কোনও প্রক্রিয়া উত্সর্গ করে না। পরিবর্তে এটি ওএসের পছন্দের সকেট পোলিং লাইব্রেরি ব্যবহার করে এবং এভাবে কয়েক লক্ষ সংযোগ পরিচালনা করতে সক্ষম। অ্যাপ্লিকেশন বিকাশকারী হিসাবে আপনার যত্ন কেন করা উচিত? কারণ এনগিনেক্স সংযোগগুলি বাফার করে এবং যখন অনুরোধটি পুরোপুরি পঠিত হয় কেবল তখনই আপনার চেরিপাই আপস্ট্রিম উদাহরণে অনুরোধটি পাস করে। প্রতিক্রিয়া জন্য একই। এইভাবে আপনার চেরিপি অ্যাপ্লিকেশন, যা অনেকগুলি ইন্দ্রিয়তে Nginx এর পিছনে একটি থ্রেডযুক্ত সার্ভার, অ্যাসিঙ্ক্রোনাস হয়ে যায়। বিশেষত, আপনি ধীর ক্লায়েন্টের সমস্যা এবং ধীর লরিস ডস আক্রমণে হাত োকান।
  2. এনগিনেক্সের সংযোগ হারটি বাক্সের বাইরে সীমাবদ্ধ রয়েছে। বলুন, আমি একই আইপি থেকে 8 টির বেশি একযোগে সংযোগ চাই না।
  3. চেরিপাইয়ের এসএসএল সমস্যা রয়েছে । Nginx না।
  4. পাইথন সি এর মতো প্রায় বাইটগুলি পিছনে পিছনে পাঠাতে পারে পাইথনের zlibসি লাইব্রেরির চারপাশে কেবল একটি মোড়ক। তবে যেহেতু এনগিনেক্স সংযোগ কার্যকরভাবে পরিচালনা করে আপনার চেরিপাই কর্মী থ্রেডগুলিকে উত্পাদনে স্থির সামগ্রী সরবরাহ করা থেকে মুক্তি দেওয়া এবং কেবল গতিশীল সামগ্রীতে উত্সর্গ করা ভাল ধারণা।
  5. একই পোর্ট, ডোমেন, পাথ ইত্যাদিতে একাধিক চেরিপি উদাহরণগুলি মাল্টিপ্লেক্সিং করা হচ্ছে অন্য একটি কনফিগারেশন স্তরের সাধারণত অতিরিক্ত নমনীয়তা।

চেরিপাই নিজে থেকে ব্যবহার করা কি নিরাপদ?

মূল লেখকের একজনের মতে, হ্যাঁ । চেরিপাইয়ের সাথে আপনি নিজেরাই করতে পারেন বেশিরভাগ ওয়েব-প্রাসঙ্গিক জিনিস।

চেরিপাইয়ের একটি অ্যাপ্লিকেশন ধারণা এবং আপনি একটি চেরিপাই উদাহরণ সহ বেশ কয়েকটি অ্যাপ্লিকেশন পরিবেশন করতে পারেন । চেরিপি অন্যান্য ডাব্লুএসজিআই অ্যাপ্লিকেশনও পরিবেশন করতে পারে

চেরিপাই মোতায়েন করা হচ্ছে

Initতিহ্যবাহী * নিক্স-স্টাইলের মোতায়েনের ক্ষেত্রে আপনি আরআর স্ক্রিপ্ট লেখেন, প্রসেসটি ডেমনাইজ করুন, এর সুবিধাগুলি বাদ দিন, এর পিআইডি লিখুন ইত্যাদি। যখন আপনার কয়েকটি চেরিপাই উদাহরণ থাকে তখন এটি বড় কথা নয়। আপনার কয়েক ডজন থাকলে এটি ক্লান্তিকর হয়ে যায় এবং গুনিকর্ন বা uWGSI এর কাছে প্রক্রিয়া পরিচালনা হস্তান্তর করা এবং আপনার চেরিপি উদাহরণগুলি এইচটিটিপি থেকে ডাব্লুএসজিআইতে স্যুইচ করা বুদ্ধিমান হয়ে যায়।

আমি একটি টিউটোরিয়াল / প্রকল্পের কঙ্কাল লিখেছিলাম, চেরিপি-ওয়েবঅ্যাপ-কঙ্কাল , যার লক্ষ্য ছিল একটি ওয়েব-বিকাশকারীর জন্য ডেবিয়ানে একটি বাস্তব-বিশ্বের চেরিপি অ্যাপ্লিকেশন মোতায়েনের জন্য (প্রচলিত) শূন্যস্থান পূরণ করা।

শেষ করি

  1. নিম্ন-ট্রাফিক, কোন বিশেষ প্রয়োজনীয়তা → CherryPy * 1 ⇐ HTTP ⇒ Client
  2. উচ্চ ট্র্যাফিক, বিশেষ প্রয়োজনীয়তা → CherryPy * n ⇐ HTTP ⇒ Nginx ⇐ HTTP ⇒ Client
  3. একই সার্ভারে পৃথক CherryPy দৃষ্টান্ত, এর Overkill তার পানে কয়েক ডজন সকলের সমাধানCherryPy * n ⇐ WSGI ⇒ Gunicorn ⇐ HTTP ⇒ Nginx ⇐ HTTP ⇒ Client

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