2012-03-24 7 views
7

मैंने हमेशा अपाचे, MySQL, और PHP के साथ काम किया है। मैं अंततः पाइथन/डीजेगो या रूबी/रूबी को रेल पर भेजना चाहता हूं, लेकिन यह एक और चर्चा है। अपाचे, माईएसक्यूएल, और पीएचपी के बारे में दो महान चीजें हैं सर्व तीन सर्वव्यापी हैं और वेबसाइट लॉन्च करना बहुत आसान है। बस एक अपाचे वर्चुअल होस्ट सेट अप करें, डेटाबेस को MySQL में आयात करें, और PHP फ़ाइलों को सर्वर पर कॉपी करें। बस। यह सब मैंने कभी किया है और जो कुछ मैंने कभी भी ज्ञात किया है। कृपया इसे ध्यान में रखें।एक लैंप गाय आसानी से वेबसाकेट कैसे कार्यान्वित कर सकता है?

इन दिनों, वेबसाइटों के लिए रीयल-टाइम में डेटा वितरित करने में सक्षम होने के लिए यह तेजी से महत्वपूर्ण होता जा रहा है। उपयोगकर्ता यह भी फेसबुक और जीमेल की लाइव प्रकृति के कारण उम्मीद करते हैं। इस प्रभाव को अजाक्स मतदान के साथ फिक्र किया जा सकता है, लेकिन इसमें here समझाया गया है, लेकिन इसमें बहुत अधिक उपर है। मैं वेबसाकेट का उपयोग करना चाहता हूं। अब याद रखें कि मैं हमेशा एक लैंप लड़का रहा हूं। मैंने पहले ही वर्णित विधि का उपयोग करके वेबसाइटों को लॉन्च किया है। तो अगर मेरे पास एक केकपीएचपी साइट है, तो मैं वेबसाकेट की सुविधा कैसे जोड़ सकता हूं? क्या मुझे कुछ अन्य सर्वर या कुछ स्थापित करने की आवश्यकता है या क्या मैं इसे अपाचे के साथ आसानी से काम करने के लिए प्राप्त कर सकता हूं? क्या इसे अपाचे 2.4 की आवश्यकता होगी? कृपया मुझे यह ध्यान में रखते हुए प्रक्रिया को समझाएं कि मुझे केवल लैंप के बारे में पता है। धन्यवाद!

उत्तर

4

ध्यान में रखना एक महत्वपूर्ण बात यह है कि एक रीयलटाइम websockets सर्वर को "लंबे समय तक चलने" की आवश्यकता होती है, ताकि यह ग्राहकों को सामान धक्का दे सके। क्लासिक लैंप सेटअप में, अपाचे प्रत्येक अनुरोध पर एक PHP दुभाषिया उत्पन्न करता है। अनुरोधों के बीच PHP दुभाषिया नहीं चल रहा है, और अनुरोधों के बीच रखा गया एकमात्र प्रोटोकॉल राज्य सत्र है।

लैंप मार्ग की एक अच्छी संपत्ति, यह है कि स्मृति प्रबंधन आसान है। आप बस जो भी स्मृति चाहते हैं उसे आवंटित करें, और जब अनुरोध किया जाता है तो इसे स्वचालित रूप से पुनः दावा किया जाता है, और PHP प्रक्रिया समाप्त हो जाती है। जैसे ही आप सर्वर को चालू रखना चाहते हैं, आपको स्मृति प्रबंधन पर विचार करना होगा। कुछ laguages ​​में, जैसे सी ++, आप आवंटन और deallocation स्पष्ट रूप से प्रबंधित करते हैं। अन्य भाषाओं में, जैसे जावा या जावास्क्रिप्ट, आपके पास कचरा संग्रह है। PHP में आप सबकुछ दूर फेंक देते हैं, और प्रत्येक अनुरोध पर एक ताजा स्लेट के साथ शुरू करते हैं।

मुझे लगता है कि आपको केक या किसी अन्य क्लासिक PHP ढांचे जैसे कुछ लंबे समय तक चलने वाले सर्वर बनाने में कठिनाई होगी। वे ढांचे मूल रूप से HTTP अनुरोध लेते हुए और इसे HTTP प्रतिक्रिया में बदलकर काम करते हैं।

मेरी सलाह यह है कि आपको नोड.जेएस और सॉकेटियो जैसे कुछ देखना चाहिए। यदि आप जावास्क्रिप्ट को जानते हैं, या सीखने में कोई फर्क नहीं पड़ता है, तो ये तकनीकें आपको रीयल-टाइम सर्वर और क्लाइंट को आसानी से कार्यान्वित करने की अनुमति देती हैं। यदि आवश्यक हो तो आप nginx जैसे रिवर्स प्रॉक्सी चला सकते हैं, ताकि आपके मौजूदा LAMP स्टैक को कुछ अनुरोध मिले, और एक या अधिक नोडजेएस सर्वर कुछ प्राप्त करेंगे।

इस उत्तर थोड़ा शराबी बाहर आ गया है, लेकिन मुझे आशा है कि यह एक छोटे में मदद करता है .. :-)

+0

इसके अलावा https://github.com/davidcoallier/node-php और संबंधित कांटे की जाँच करें। वहां नोड में बहुत से http कार्यान्वयन भी हैं, लेकिन यह नोड की सुंदरता है - यह * http * नहीं होना चाहिए। आप संभवतः आरटीएमपी जैसे अन्य वास्तविक समय प्रोटोकॉल देख सकते हैं यदि आप क्लाइंट एंड के लिए उपभोक्ता को गारेनटे कर सकते हैं (जैसे फ़्लैश, या स्क्रिप्ट के लिए क्लाइंट साइड प्रॉक्सी के रूप में फ्लैश) – frumbert

+0

पेज। node.js में कूदने और निर्णय लेने से पहले समाधान है, नाक चारों ओर और समाधान के दोनों किनारों के बारे में पढ़ा है, उदा। : http://teddziuba.com/2011/10/node-js-is-cancer.html – frumbert

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