वेब सर्वर
Node.JS
पाई पर वेब सर्वर प्रतिस्थापन के रूप में इस्तेमाल किया जा सकता है और आप आसानी से अकेले या सिंगल पेज वेब एप्लिकेशन बना सकते हैं।
लेकिन सिर्फ आपकी जानकारी के लिए, अधिकांश वास्तविक विश्व अनुप्रयोगों में आधुनिक nginx
, हल्के वजन lighttpd
या चंकी जैसे सर्वरों का उपयोग करने की सिफारिश की जाती है , लेकिन पूरी तरह से चित्रित किया गया है apache2
! और फिर साइट को पूरक करने के लिए script.js।
जाहिर है कि संभावनाएं अनंत हैं और सब कुछ इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं।
रास्पबेरी पाई?
रास्पबेरी पाई उन वेब सर्वरों में से कोई भी चला सकती है। यह बिना किसी गंभीर जटिलताओं के भी नोड चला सकता है और किसी भी जटिल ट्वीकिंग के बिना वास्तव में तेज है।
रास्पबेरी पाई बहुत सक्षम है, लेकिन सबसे अच्छा होगा कि मेमोरी विभाजन को कम से कम ग्राफिक्स और अधिकांश रैम में बदल दें। आईडीई का उपयोग करने के बारे में भूल जाओ और बस एसएसएच के माध्यम से सब कुछ करो। यदि आपको वास्तव में कुछ और रस की आवश्यकता है तो बीसीएम चिप पर हीट सिंक लगाएं और इसे सुरक्षित महसूस करने के साथ ही ओवरक्लॉक करें । एक अन्य विकल्प लोड संतुलन के साथ मदद करने के लिए एक क्लस्टर के रूप में कई पाई का उपयोग करना होगा। आप क्लस्टरिंग के बारे में यहां से खुदाई शुरू कर सकते हैं।
लेकिन क्या आपको वास्तव में नोड.जेएस का उपयोग करने की आवश्यकता है?
Node.JS
जब आप शुरू (या प्रत्याशित) सैकड़ों और हजारों अनुरोध प्राप्त करने के लिए उपयोग किए जाने का इरादा रखते थे, तो न्यूनतम सर्वर ओवरहेड के साथ डीबी, कैश्ड या वापस पढ़ने के लिए डेटा के छोटे हिस्से की आवश्यकता होती है। तो आप क्लाइंट पर JS का उपयोग करके इसे चलाते हैं लेकिन Node.JS
वास्तव में C / C ++ द्वारा संचालित होता है। तो क्या होगा यदि आपको कस्टम मॉड्यूल या आधार कोड में एक विशिष्ट बदलाव की आवश्यकता है?
वेबपेजेस नोड्स की सेवा देने वाले एप्लिकेशन में। आमतौर पर एकल अनुरोध पर उदाहरण के लिए एपर्चर को बेहतर नहीं बनाया जाता है। यदि आप दिन के अधिकांश के लिए प्रति सेकंड हजारों अनुरोध हैं, तो नोड.जेएस की गैर-अवरोधक सुविधा महान है, यह वह जगह है जहां अपाचे ब्लॉक और क्रैश होगा।
एक वास्तविक दुनिया उदाहरण
Ebay - एक नीलामी के दौरान जब आपके पास पिछले 30 सेकंड की गणना होती है। आपके पास कई लोग हो सकते हैं जो पृष्ठ को सख्ती से ताज़ा करते थे और बोलियाँ बढ़ाते थे। यह वह जगह है जहाँ नोड.जेएस चमकता है, क्योंकि आज आपको किसी भी अधिक ताज़ा करने की आवश्यकता नहीं है। ऐसा इसलिए है क्योंकि JS सभी ग्राहकों से बहुत बार (300ms ~ 600ms) नोड ajaxes करता है और एक "वास्तविक जीवन नीलामी" अनुभव प्रदान करने में सक्षम होता है। Ebay केवल नोड.जेएस से ही नहीं बल्कि बहुत जटिल लोड संतुलित सर्वर फ़ार्म पर चलती है।
Pi पर Node.js बनाने और स्थापित करने के लिए:
जाहिर है कि दूसरों के बजाय नोड.जेएस का उपयोग करने में कुछ भी गलत नहीं है और अगर पीआई जैसे साफ-सुथरे छोटे उपकरण पर नहीं तो नोड सीखना कितना अच्छा है। तो आप कोड को खुद इस तरह से संकलित कर सकते हैं।
$ sudo apt-get install git-core build-essential libssl-dev
$ mkdir ~/nodeDL && cd ~/nodeDL
$ git clone https://github.com/joyent/node.git
$ git checkout v0.6.15 (to checkout the most recent stable version at time of writing)
अद्यतन: नोड के बाद के संस्करण (वर्तमान संस्करण v0.8.18 है) नीचे दिए गए विशेष चरणों के बिना बनाया जा सकता है
अगले हम armv6
संकलन के लिए वास्तुकला का उपयोग करने के लिए संकलक को बताने की जरूरत है :
$ export CCFLAGS='-march=armv6'
$ export CXXFLAGS='-march=armv6'
and then edit deps/v8/SConstruct around the line 82 mark, to add “-march=armv6”:
'all': {
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv6'],
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions', '-march=armv6'],
},
फिर vfp3 और सिम्युलेटर भागों को हटाने के लिए, 157 अंक के आसपास शुरू होने वाली पंक्तियों पर टिप्पणी करें। चूँकि यह JSON जैसी वस्तु है, CPPDEFINES
लाइन पर कॉमा को हटाने के लिए याद रखें !
'armeabi:softfp' : {
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0']
# 'vfp3:on': {
# 'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
# },
# 'simulator:none': {
# 'CCFLAGS': ['-mfloat-abi=softfp'],
# }
},
फिर सामान्य रूप से कॉन्फ़िगर करें, बनाएं, इंस्टॉल करें प्रक्रिया, एनबी I को मैन्युअल रूप से ओपनएसएसएल लिबपैथ के स्थान को निर्दिष्ट करना था:
$ ./configure --openssl-libpath=/usr/lib/ssl
$ make (to compile node (This took 103 minutes!))
$ sudo make install
Thats यह, अब आपके पास एक काम करने वाला Node.JS इंस्टॉल होना चाहिए!
$ node -v should show you the version number
$ npm -v should show you the version of the Node Package Manager
* संदर्भ और मूल लेख
लेकिन जैसा कि अन्य उत्तरों में बताया गया है कि आप बस एक पूर्व संकलित बाइनरी डाउनलोड कर सकते हैं जो बस काम करेगा।
निष्कर्ष
पाई का एक अच्छा टुकड़ा बुरा नहीं है। आप पाई के बारे में कुछ भी चला सकते हैं- बस उत्पादन स्तर के प्रदर्शन की उम्मीद न करें।