2010-07-06 15 views
27

जो मैं समझता हूं उससे Node.js को http सर्वर (या किसी वेबस्केट सर्वर या उस मामले के लिए कोई सर्वर) के रूप में काम करने के लिए NginX की आवश्यकता नहीं है, लेकिन मैं Node.js आंतरिक सर्वर के बजाय NginX का उपयोग करने के तरीके के बारे में पढ़ता रहता हूं और नहीं ढूंढ सकता इस तरह से जाने के लिए एक अच्छा कारणNode.js के लिए NginX का उपयोग करने का क्या फायदा है?

+0

मुझे लगता है कि यह सर्वरफॉल्ट के लिए अधिक उपयुक्त है। – mbq

+4

नहीं, यह सर्वरफॉल्ट – mamu

+0

के लिए नहीं है ठीक है, मैं बहस नहीं करूंगा ;-) – mbq

उत्तर

28

यहां http://developer.yahoo.com/yui/theater/video.php?v=dahl-node नोड.जेएस लेखक का कहना है कि नोड.जेएस अभी भी विकास में है और इसलिए सुरक्षा समस्याएं हो सकती हैं जो NginX बस छुपाती है।
दूसरी ओर, भारी ट्रैफिक के मामले में NginX कई Node.js चल रहे सर्वरों के बीच नौकरी को विभाजित करने में सक्षम हो जाएगा।

+0

ओह धन्यवाद! अंत में एक संतोषजनक उत्तर। लिंक – Purefan

9

लेकिन तैयार रहें: बैकएंड से बात करते समय nginx http 1.1 का समर्थन नहीं करता है, इसलिए अगर आप nginx के पीछे नोड डालते हैं तो जीवित या websockets जैसी सुविधाएं काम नहीं करेंगी।

यूपीडी: nginx 1.2.0 - socket.io - HTTP/1.1 - Proxy websocket connections अधिक अद्यतित जानकारी के लिए देखें।

+0

लिंक के लिए डबल धन्यवाद मैं समझ नहीं पा रहा हूं, क्या कुछ सामग्री समझाती है? – rizidoro

+2

उसका मतलब क्या है कि NginX उनसे कनेक्ट करने वाले ग्राहकों को एचटीपी 1.1 से बात कर सकता है, लेकिन प्रॉक्सी सर्वर नहीं, उदाहरण के लिए यदि आपके पास कोई नोडजेएस एप्लीकेशन है जो सॉकेट.ओ लागू करता है और आप उस एप्लिकेशन से NginX के माध्यम से कनेक्ट होते हैं, तो यह बस होगा websockets के लिए काम नहीं – Purefan

+1

Nginx [संस्करण 1.2.0 के बाद से HTTP 1.1 का समर्थन करता है] (http://wiki.nginx.org/Main)। क्या आप अपना उत्तर अपडेट कर सकते हैं? –

8

पिछले उत्तरों के अलावा, node.js के सामने nginx का उपयोग करने का एक और व्यावहारिक कारण है, और ऐसा इसलिए है क्योंकि आप अपने सर्वर पर एक से अधिक नोड ऐप चलाने के लिए चाहते हैं।

यदि पोर्ट 80 पर कोई नोड ऐप सुन रहा है, तो आप उस ऐप तक ही सीमित हैं। अगर nginx पोर्ट 80 पर सुन रहा है तो यह अन्य बंदरगाहों पर चल रहे एकाधिक नोड ऐप्स के अनुरोधों को प्रॉक्सी कर सकता है।

एनजीएक्सएक्स को टीएलएस/एसएसएल/एचटीटीपीएस को प्रतिनिधि करना भी सुविधाजनक है। सीधे नोड में टीएलएस करना संभव है, लेकिन यह अतिरिक्त काम और त्रुटि-प्रवण है। अपने ऐप के सामने Nginx (या एक और प्रॉक्सी) के साथ, आपको इसके बारे में चिंता करने की ज़रूरत नहीं है और tools to help you securely configure it हैं।

संबंधित मुद्दे

 संबंधित मुद्दे