অ্যাপাচি / এনগিনেক্সের সাথে নোড.জেএস ব্যবহার করে শুধুমাত্র নোড.জেএস ব্যবহার করা


224

কোন ক্ষেত্রে নোড.জেএসকে কেবল প্রকৃত স্থাপনায় সার্ভার হিসাবে ব্যবহার করা উচিত?

যখন কেউ কেবল নোড.জেএস ব্যবহার করতে চায় না, তখন নোড.জেএস এর সাথে আরও কী ভাল খেলবে? আপাচি নাকি এনগিনেক্স?

উত্তর:


207

নোড.জেএস এর সামনে অন্য ওয়েবসভারটি আটকে রাখার বেশ কয়েকটি ভাল কারণ রয়েছে:

  • নোড.জেএস প্রক্রিয়াটির জন্য সুবিধাগুলি / সেটআপ সম্পর্কে চিন্তা করার দরকার নেই। কেবলমাত্র রুট সাধারণত 80 টি পোর্টে বাঁধতে পারে। আপনি যদি এনজিন্স / অ্যাপাচি কে রুট হিসাবে শুরু করার বিষয়ে 80 পোর্টের সাথে আবদ্ধ করার বিষয়ে উদ্বিগ্ন হতে দেন এবং তার মূল সুবিধাগুলি ত্যাগ করেন তবে এর অর্থ আপনার নোড অ্যাপ্লিকেশনটিকে এটি নিয়ে চিন্তা করতে হবে না।
  • চিত্র, সিএসএস, জেএস, এবং এইচটিএমএলের মতো স্থিতিশীল ফাইল পরিবেশন করা হচ্ছে। সঠিক স্ট্যাটিক ফাইল ওয়েব সার্ভার ব্যবহারের তুলনায় নোড কম দক্ষ হতে পারে (নির্বাচিত পরিস্থিতিতে নোড আরও দ্রুত হতে পারে, তবে এটি আদর্শ হওয়ার সম্ভাবনা কম)। আরও দক্ষতার সাথে পরিবেশন করা ফাইলগুলির শীর্ষে, আপনাকে যদি নোডের বাইরে পরিবেশন করা হয় তবে আপনি যেভাবে ইটিগগুলি বা ক্যাশে কন্ট্রোল শিরোনামগুলি পরিচালনা করবেন সে সম্পর্কে আপনাকে চিন্তা করতে হবে না। কিছু ফ্রেমওয়ার্ক আপনার পক্ষে এটি পরিচালনা করতে পারে তবে আপনি নিশ্চিত হতে চান। নির্বিশেষে, এখনও সম্ভবত ধীর।
  • যেমন ম্যাট সার্জেন্ট তার উত্তরে উল্লেখ করেছেন, আপনি নোড পরিষেবা ক্রাশ হলে আপনি আরও সহজেই অর্থবহ ত্রুটি পৃষ্ঠাগুলি প্রদর্শন করতে পারেন বা কোনও স্থির সাইটে ফিরে যেতে পারেন। অন্যথায় ব্যবহারকারীরা কেবল একটি সময়সীমার সংযোগ পেতে পারেন।
  • নোডের সামনে অন্য একটি ওয়েব সার্ভার চালানো নোডের বিরুদ্ধে সুরক্ষা ত্রুটিগুলি এবং ডওসের আক্রমণগুলি হ্রাস করতে সহায়তা করতে পারে। কে বাস্তব পৃথিবীতে উদাহরণস্বরূপ, জন্য CVE-2013-4450 হয় নোড সামনে nginx ভালো কিছু চলমান দ্বারা বাধা ।

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

বিশেষত এনগিনেক্স সহ ক্যাভ্যাট: আপনি যদি ওয়েবসকেট ব্যবহার করছেন তবে এনগিনেক্সের (> = 1.3.13) সাম্প্রতিক সংস্করণটি ব্যবহার করার বিষয়টি নিশ্চিত করুন, যেহেতু এটি কেবলমাত্র ওয়েবসকেট ব্যবহারের জন্য সংযোগ আপগ্রেড করার জন্য সমর্থন যোগ করেছে।


11
express.staticETags এবং ক্যাশে-নিয়ন্ত্রণ শিরোনাম ঠিক ঠিক পরিচালনা করবে।
— রবার্টক্লেপ


4
ধীরে ধীরে, ধীর ব্যাক আপ করার জন্য আপনার কাছে কি বেঞ্চমার্ক রয়েছে? @ পাওলাপ্প্পে নির্দেশিত নিবন্ধগুলি দেখে মনে হচ্ছে নোড.জেএস লোডের নিচে খুব দ্রুত।
— স্যামুয়েল নেফ 27'13

3
এখানে কিছু সম্পর্কিত আলোচনা রয়েছে: স্ট্যাকওভারফ্লো.com / প্রশ্নগুলি / 9967887/… কিছু অতিরিক্ত দৃষ্টিভঙ্গি সহ। সেখানকার মানদণ্ডগুলি (যেহেতু আপনি অতিরিক্ত মাপের জন্য জিজ্ঞাসা করেছেন) নোড.জেএস / এক্সপ্রেস দেখায়, এমনকি ক্লাস্টারযুক্ত, লক্ষণীয়ভাবে কম দক্ষতার প্রদর্শন করে। আমার অনুভূতি স্থিতিশীল ফাইল পরিবেশন করা এবং নোড ইভেন্ট লুপটি পুরোপুরি হ্যান্ডলিংয়ের জন্য অনুরোধ করা সবচেয়ে ভাল, নোডে যে কাজটি ঘটতে হবে তার জন্য সেই চক্রটি সংরক্ষণ করুন। তবে সত্যি কথা, আপনি যদি নোডের বাইরে স্থির স্টাফগুলি পরিবেশন করেন তবে আপনিও ভাল থাকবেন। এটি একটি বড় চুক্তি না.
— পলজজ

4
এটি লক্ষ করা উচিত যে আপনি যদি সরাসরি নোডটি সরাসরি ব্যবহার করেন তবে আপনি এখনও :80সংরক্ষণযোগ্য বন্দরগুলিতে আবদ্ধ করতে পারেন যেমন নথকে নট
— wyqydsyq

70

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


28

আমার বিশ্বাস যে স্থির ফাইলগুলি পরিবেশন করতে নোড ব্যবহার করা যতক্ষণ না আপনি জানেন যে সমস্ত পরিস্থিতিতে ঠিক আছে । স্ট্যাটিক ফাইলগুলি এত বেশি (প্রতিটি?) প্রতিযোগিতামূলক প্রযুক্তি (পিএইচপি, রুবি, পাইথন, ইত্যাদি) পরিবেশন করতে অ্যাপ্লিকেশন সার্ভারটি ব্যবহার করা অবশ্যই একটি নতুন দৃষ্টান্ত যা অ্যাপ্লিকেশন সার্ভারের (গুলি) এর সামনে HTTPD বা Nginx এর মতো একটি ওয়েব সার্ভারের প্রয়োজন require ।

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

আপনি যদি এমন কোনও বৈশিষ্ট্য খুঁজে না পান যা কোনও ক্লাসিক ওয়েব সার্ভারের সাথে সম্ভব যা নোডের সাথে সম্ভব নয় (এবং আমি আপনাকে সন্দেহ করব) তবে আপনি কী ভাল জানেন বা কোনটি পদ্ধতির পক্ষে ভাল তা নিয়ে কাজ করতে আপনি কী পছন্দ করবেন তা চয়ন করুন।

যেমন Nginx বনাম অ্যাপাচি - তারা নোডের সাথে একইভাবে "খেলবে"। আপনার নোডকে বিবেচনা না করে এগুলি তুলনা করা উচিত।


2
প্রযুক্তিগত তুলনায় সাধারণভাবে ভাল দৃষ্টিভঙ্গি: "নোডের সাথে স্থিতিশীল ফাইলগুলি পরিবেশন করার বিরুদ্ধে আমি যে প্রতিটি উদ্দেশ্যমূলক কারণ পড়েছি তা আপনি যা ভাল জানেন তা ব্যবহার করার ক্ষেত্রে বা আরও ভাল-পরীক্ষিত / আরও স্থিতিশীল হিসাবে বিবেচিত কোনটি ব্যবহার করার ধারণার চারদিকে ঘুরে যায় These এগুলি খুব বৈধ কারণ ব্যবহারিকভাবে বলতে গেলে, তবে কিছুটা বিশুদ্ধভাবে প্রযুক্তিগত প্রাসঙ্গিকতা রয়েছে। " এই দিনগুলিতে অনেক তুলনা পক্ষপাতদুষ্ট এবং নিকৃষ্ট কিন্তু সময়-পরীক্ষিত প্রযুক্তির উপর অভিজ্ঞতার এবং আরামের স্তরের ব্যাগেজের ভিত্তিতে তৈরি।
— সানি

হ্যাঁ তবে তারা সত্যই / বিষয়গত / কারণ। উদ্দেশ্যগত কারণের একটি দুর্দান্ত উদাহরণ একটি মানদণ্ড হবে - যার বেশিরভাগ ক্ষেত্রে আমি nginx> নোডেজগুলি (যদিও সত্যই আমার নিজের করা উচিত ....) নির্দেশ পেয়েছি
— নিক

@ নিক আপনি একদম ঠিক বলেছেন এবং সেখানে বেশ কিছু আছে যদিও আমি বৈজ্ঞানিক বেঞ্চ-চিহ্নিতকরণে বিশেষজ্ঞ নই তাই আমি লোকদের তার জন্য ওয়েবে অনুসন্ধান করতে দেব। যদিও আমি যা বলব তা আমি মনে করি দুটির পরিবর্তে একটি সার্ভার ব্যবহার করার সরলতার কোনও সুবিধা রয়েছে। কিছু ভুল হওয়ার খুব কম সম্ভাবনা রয়েছে। অন্যদিকে, nginx সাধারণত প্রতি ইউনিক্সের মত ভাল কনফিগারেশন সঙ্গে সিস্টেম নোড সঙ্গে যেহেতু আপনি চিত্রে আউট ইন্টিগ্রেশন সঙ্গে প্রয়োজন একটি প্যাকেজ আছে systemd, pm2ইত্যাদি তাই সেখানে pluses এবং minuses হয় এবং ব্যবহারকারী কথা তাই তাদের বিষ বাছাই করা উচিত, ।

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

1

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

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