আমি অ্যাপাচি কে নোড.জেএস দিয়ে প্রতিস্থাপন করতে পারি?


151

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

আমি সমাধানের জন্য অনলাইনে অনুসন্ধান করার চেষ্টা করেছি, তবে একটি খুঁজে পাইনি। আমি যদি আমি পড়েছি এমন জিনিসগুলির সঠিকভাবে ব্যাখ্যা করছি, তবে মনে হচ্ছে বেশিরভাগ লোকেরা নোড.জেসগুলি অ্যাপাচি এবং পিএইচপি উভয়কে একসাথে প্রতিস্থাপন করতে পারে। আমার কাছে প্রচুর বিদ্যমান পিএইচপি কোড রয়েছে, তবে আমি এটি রাখতে পছন্দ করি।

এটি ইতিমধ্যে সুস্পষ্ট না হলে, আমি বেশ বিভ্রান্ত এবং কিছু আলোকপাত ব্যবহার করতে পারি। অনেক ধন্যবাদ!


এপি সার্ভারটি সন্ধানের পক্ষে মূল্যবান হতে পারে।
ট্রায়হার্ডার

উত্তর:


86

আপনি যদি জাভাস্ক্রিপ্টে আপনার পিএইচপি পুনরায় লেখার জন্য প্রস্তুত থাকেন তবে হ্যাঁ, নোড.জেএস আপনার অ্যাপাচি প্রতিস্থাপন করতে পারে।

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


1
আমি দ্রুত প্রতিক্রিয়া কৃতজ্ঞ! এনগিনেক্স কি অ্যাপাচি থেকে অনেক বেশি উন্নত? আমার কাছে ইতিমধ্যে একটি .htaccess ফাইল রয়েছে এবং এটি রাখা ভাল হবে। এছাড়াও, আমি পড়েছি যে নোড.জেএস-এ অ্যাপাচি ফরওয়ার্ড অনুরোধ করা অর্থহীন কারণ কারণ আপনি এখনও অ্যাপাচি দিয়ে যাচ্ছেন তাই আপনি নোড.জেএস এর সুবিধা হারাচ্ছেন। "নোডেজ" নামের সাবফোল্ডারে যে কোনও কিছুর জন্য নোড.জেস 80 পোর্টে শুনলে ভাল হবে এবং তারপরে সেই সাবফোল্ডারে থাকা কিছুই নোড.জেএস দ্বারা অ্যাপাচে পাঠানো যাবে? অ্যাপাচি 8000 এর মতো অন্য কোনও বন্দরে শুনতে পেত
রিক

21
@ রিক, আমি আমার নিজের উত্তর মুছে ফেলার খুব কাছাকাছি; নোড ব্যবহার করতে পারেsendfile এবং ফাস্টসিজিআই সমর্থনটির জন্য একটি মডিউল রয়েছে যা আপনার পিএইচপিটি নোডের মাধ্যমে পরিবেশন করা সহজ করতে পারে। যেমন এনগিনেক্স বনাম আপাচি, আমি সর্বদা থ্রেডেড বা মাল্টিপ্রসেস সার্ভারের চেয়ে অ্যাসিঙ্ক-স্টাইল সার্ভারের জন্য চুষে ফেলেছি :) তবে আমি অ্যাপাচি ডকুমেন্টেশনগুলি খুঁজে পেতে এবং পড়ার পক্ষে আরও সহজ পেয়েছি। আপনি যদি আশ্চর্যজনক সংখ্যার স্কেল করতে না চান তবে আমি সেই ব্যক্তিগত পছন্দকে কল করব। :)
sarnold

3
@ রিক আপনি নোডে উত্পাদন জিনিসগুলি কী তা এবং এটি কীভাবে কাজ করে তা বোঝার আগে মাইগ্রেট করতে চান না। নোড জিনিসপত্র দ্রুত তৈরি করার জন্য একটি যাদু পিল নয়। ইভেন্টটি চালিত / অ্যাসিঙ্ক দৃষ্টান্তটি নতুন নয় এবং কেন এটি সমস্ত কিছুর জন্য ব্যবহার করা হচ্ছে না তার কারণ রয়েছে। en.wikedia.org/wiki/Asynchronous_I/O
vyvind Skaar

1
@ রিক আপনার পরিবর্তিত জিনিসটি প্রতিস্থাপন করবেন এই ভেবে পরিবর্তে নোডটি চালানো আরও ভাল। নোড (?) এর মাধ্যমে সমস্ত কিছু পাস করার কোনও কারণ নেই বলে মনে করবেন না, এটি একটি খারাপ ধারণা বলে মনে হচ্ছে। অন্য কোনও পোর্ট বা হোস্টে কেবল নোড চালান।
vyvind Skaar

2
@ আইভিন্ড স্কার আমি সম্মত। এছাড়াও, বেশিরভাগ ওয়েবসাইটের জন্য (উদাহরণস্বরূপ ওয়ার্ডপ্রেস), আসল বাধা হ'ল ডাটাবেস এবং ফাইল অ্যাক্সেস নয়। এবং, যদি ফাইল অ্যাক্সেসের সমস্যা হয় তবে ক্যাশে সর্বদা একটি কার্যকর সমাধান। যাইহোক, বাস্তব পারফরম্যান্সের জন্য, পিএইচপি-এপিসি একটি জঘন্য সস্তা কৌশল।
maaglanes

26

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

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

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


11

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

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

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

লিঙ্কটি: https://gist.github.com/1350901


2
যদিও খুব সত্য, আমি এখনও বিশ্বাস করি আপনি যদি আপাচে ছিনিয়ে নেন তবে আপনি যা বর্ণনা করছেন ঠিক তা করেন, এটি দ্রুত গতিতে চালিত হবে এবং যদি তা না হয় তবে নোড.জেএস এর চেয়েও দ্রুত would অ্যাপাচি অনেকগুলি জিনিস করে যা লোকেরা দেখতে পায় না বা সত্যিই বুঝতে পারে না এবং আপনি যদি এই ওয়েব সার্ভারগুলির সমস্ত কার্যকারিতা নোড.জেজে যোগ করেন তবে এটি তাদের মতো ধীর গতিতে চলবে। সহজ উদাহরণ হিসাবে সম্ভবত হতে পারে, mynode.js / getfile? ফাইল = / ইত্যাদি / ছায়া
রাহলি

8

পূর্ববর্তী এসও পোস্ট ঠিক কী বলছে তা বর্ণনা করছে (পিএইচপি + সকেট.ইও + নোড)

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

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


2

আজকাল এটির ল্যাম্প বনাম মন। সরাসরি তুলনার জন্য http://tamas.io/ কি-is-the-mean-stack দেখুন ।

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

তবে, কেবলমাত্র Node.js এর সাথে অ্যাপাচি প্রতিস্থাপন করা আপনার ওয়েব স্ট্যাকটিকে আধুনিকীকরণের সম্ভবত সঠিক উপায় নয়।

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