apache - क्या मैं अपाचे को Node.js से बदल सकता हूं?




(4)

मेरे पास सामान्य संदिग्ध (अपाचे, MySQL, और PHP) का उपयोग कर CentOS पर चल रही एक वेबसाइट है। जब से यह वेबसाइट मूल रूप से लॉन्च की गई थी, तब से यह काफी विकसित हुआ है और अब मैं इसके साथ फैनसीयर चीजें करना चाहता हूं-अर्थात् वास्तविक समय अधिसूचनाएं। मैंने जो पढ़ा है, उससे अपाचे इसे खराब तरीके से संभालता है। मैं सोच रहा हूं कि क्या मैं सिर्फ अपाचे को Node.js के साथ प्रतिस्थापित कर सकता हूं (इसलिए " LAMP " के बजाय यह "एलएनएमपी" होगा)।

मैंने समाधान के लिए ऑनलाइन खोज करने की कोशिश की है, लेकिन मुझे कोई नहीं मिला है। अगर मैं उन चीजों को सही तरीके से व्याख्या कर रहा हूं जो मैंने पढ़ा है, ऐसा लगता है कि ज्यादातर लोग कह रहे हैं कि नोड.जेएस दोनों अपाचे और PHP को एक साथ बदल सकते हैं। मेरे पास बहुत सारे मौजूदा PHP कोड हैं, हालांकि, मैं इसे रखना पसंद करूंगा।

यदि यह पहले से स्पष्ट नहीं है, तो मैं बहुत उलझन में हूं और कुछ ज्ञान का उपयोग कर सकता हूं। बहुत बहुत धन्यवाद!

https://code.i-harness.com


Node.js अपाचे से तेज हो सकता है क्योंकि यह घटना / गैर-अवरुद्ध आर्किटेक्चर के लिए धन्यवाद है, लेकिन आपको मॉड्यूल / पुस्तकालयों को खोजने में समस्या हो सकती है जो अपाचे कार्यक्षमता में से कुछ को प्रतिस्थापित करते हैं।

नोड.जेएस स्वयं हल्का निम्न-स्तरीय ढांचा है जो आपको अपेक्षाकृत तेज़ी से सर्वर-साइड सामान और आपके वेब अनुप्रयोगों के रीयल-टाइम भागों को बनाने में सक्षम बनाता है, लेकिन अपाचे बहुत व्यापक कॉन्फ़िगरेशन विकल्प और "शास्त्रीय" वेब सर्वर उन्मुख सुविधाएं प्रदान करता है।

मैं कहूंगा कि जब तक आप express.js जैसे node.js आधारित वेब अनुप्रयोग ढांचे के साथ PHP को प्रतिस्थापित नहीं करना चाहते हैं, तो आपको अपाचे के साथ रहना चाहिए (या यदि आपके पास प्रदर्शन समस्याएं हैं तो Nginx पर माइग्रेट करने के बारे में सोचें)।


आजकल मेरे लैंप बनाम MEAN। प्रत्यक्ष तुलना के लिए http://tamas.io/what-is-the-mean-stack देखें।

बेशक एम, ई और ए कुछ हद तक परिवर्तनीय हैं। उदाहरण के लिए हाल ही में koa (ई) एक्सप्रेस बदल सकता है।

हालांकि, अपाचे को नोड.जेएस के साथ बदलना शायद आपके वेब स्टैक को आधुनिक बनाने का सही तरीका नहीं है।


यदि आप जावास्क्रिप्ट में अपने PHP को फिर से लिखने के लिए तैयार हैं, तो हाँ, node.js आपके अपाचे को प्रतिस्थापित कर सकता है।

यदि आप अपने सर्वर और अपने क्लाइंट के बीच रिवर्स-प्रॉक्सी मोड में चल रहे अपाचे या nginx इंस्टेंस को स्थानांतरित करते हैं, तो आप node.js पर जावास्क्रिप्ट में कुछ अनुरोधों को संभाल सकते हैं और अपने अपाचे-होस्टेड PHP में कुछ अनुरोधों को तब तक संभाल सकते हैं जब तक कि आप अपने सभी PHP को पूरी तरह से प्रतिस्थापित नहीं कर लेते जावास्क्रिप्ट कोड के साथ। यह खुश माध्यम हो सकता है: क्या आपके वेबसाकेट node.js में काम करते हैं, अपाचे + PHP में अधिक प्रचलित काम करते हैं।

आप शायद सभी स्थिर फ़ाइलों की सेवा करने के लिए हमेशा एक अपाचे या nginx एक उबाऊ वेब सर्वर के रूप में चलाना चाहते हैं: sendfile(2) सिस्टम कॉल एक वास्तविक वेब सर्वर से स्थिर पृष्ठों को बहुत तेजी से सेवा प्रदान करता है (यह 'डबल-कॉपी' को हटा देता है डिस्क से प्रक्रिया मेमोरी में डेटा की प्रतिलिपि बनाने के लिए, केवल स्मृति कार्ड को नेटवर्क कार्ड के लिए कर्नेल में प्रतिलिपि बनाने के लिए - कर्नेल को बताकर जो कि सॉकेट पर भेजे गए कर्नेल को संग्रहीत करता है, कर्नेल सीधे डिस्क से कर्नेल में डेटा कॉपी करने की व्यवस्था कर सकता है नेटवर्क कार्ड के लिए मेमोरी! woot।) मुझे नहीं पता कि node.js को sendfile sendfile(2) syscall तक आसानी से पहुंच है, लेकिन मुझे आश्चर्य होगा, इसलिए मुझे लगता है कि स्थिर फाइलों को संभालने के लिए एक nginx चलाने के लायक होगा एक साथ स्मृति में लोड दो पूर्ण सर्वर।


Previous SO पोस्ट वास्तव में वर्णन कर रहा है कि मैं क्या कह रहा हूं (php + socket.io + node)

मुझे लगता है कि आप कुछहोस्ट पर एक नोड सर्वर डाल सकते हैं: 8000 socket.io के साथ और टैग में socket.io क्लाइंट कोड को थप्पड़ मारो और न्यूनतम काम के साथ काम के एक टन के बिना socket.io (रीयलटाइम बेबी) के साथ अपने मौजूदा ऐप को रॉकिंग करें।

जबकि नोड आपका एकमात्र बैकएंड सर्वर हो सकता है याद रखें कि नोड को इसके नाम पर जीना पसंद है और नोड बनना पसंद है। मैंने कुछ समय पहले एक बात की जांच की थी कि रयान डाहल ने एक PHP उपयोगकर्ता के समूह को दिया था और उन्होंने काम करने और एक दूसरे के साथ बात करने के लिए कई नोड प्रक्रियाओं के एक दृष्टिकोण से संबंधित नोड नाम का उल्लेख किया था।





node.js