2013-06-15 5 views
6

मैं अब वेब सॉकेट में जा रहा हूं और सफलतापूर्वक ऑनलाइन वेबसाइकिल पुशर (इसे पसंद नहीं किया) और स्क्रिबल का उपयोग कर रहा हूं (अद्भुत लेकिन डाउनटाइम बहुत बार होता है क्योंकि यह केवल एक व्यक्ति इसे चला रहा है)।क्या एक PHP वेबस्केट सर्वर स्थापित करने में वास्तव में क्या शामिल है?

मैंने अपने स्थानीयहोस्ट पर इस ट्यूटोरियल http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/ का पालन किया है और यह बहुत अच्छा काम करता है!

मैं जो पूछना चाहता था वह है, मैं उपरोक्त फ़ाइल से server.php को ऑनलाइन वेबहोस्ट/साझा सर्वर पर वेबस्केट सर्वर के रूप में चलाने के लिए कैसे सेटअप करूं?

या मैं एक VPS (और अगर ऐसा है, जो एक आप की सिफारिश करते हैं और कैसे मैं सेटअप WebSocket सर्वर वहाँ के रूप में मैं वास्तव में कभी नहीं से पहले एक VPS का उपयोग किया है! कर सकते हैं)

तुम बहुत धन्यवाद प्राप्त करने की आवश्यकता है मेरे प्रश्न और उत्तर पढ़ने के लिए बहुत कुछ। मैंने सॉकेट के बारे में अन्य सभी प्रश्न/उत्तर यहां पढ़े हैं लेकिन अभी तक मेरे उपरोक्त प्रश्नों का उत्तर नहीं मिला है। उम्मीद है कि मैं इसे यहाँ पाता हूँ!

उत्तर

4

यह मुश्किल है।

आपको server.php स्क्रिप्ट निष्पादित करने की आवश्यकता है और इसे कभी बाहर निकलने की आवश्यकता नहीं है। आप अपने साझा सर्वर से एक SSH पहुँच है, तो आप इसे निष्पादित कर सकता है जैसे वे स्क्रीनशॉट पर करते हैं और इसे nohup की तरह कुछ का उपयोग कर एक पृष्ठभूमि कार्य के रूप में चलाने बनाने: (SSH कनेक्शन का उपयोग कर

$ nohup php server.php 
nohup: ignoring input and appending output to `nohup.out' 

इस लागू करने के बाद), आप बाहर निकल सकते हैं और प्रक्रिया चलती रहेगी। सब कुछ स्क्रिप्ट प्रिंट nohup.out में संग्रहीत किया जाएगा, जिसे आप किसी भी समय पढ़ सकते हैं।

यदि आपके पास एसएसएच एक्सेस नहीं है, और वास्तव में एक PHP स्क्रिप्ट निष्पादित करने का एकमात्र तरीका पृष्ठ अनुरोध के परिणामस्वरूप अपाचे के माध्यम से है, तो आप बस ब्राउज़र का उपयोग करके उस पृष्ठ पर जा सकते हैं और कभी भी बंद नहीं कर सकते ब्राउज़र। लेकिन एक दिन या दूसरे समय का समय होगा और आपके और अपाचे के बीच का कनेक्शन बंद हो जाएगा, प्रभावी ढंग से server.php स्क्रिप्ट निष्पादन को रोक देगा।

और उन पिछले मामलों में, बहुत से साझा मेजबान एक स्क्रिप्ट को अनिश्चित काल तक चलाने की अनुमति नहीं देंगे। आप server.php में इस लाइन है कि ध्यान देंगे:

set_time_limit(0); 

यह पीएचपी कोई समय सीमा नहीं है कि बताता है। यदि मेजबान ने PHP को safe mode (जो उनमें से बहुत से करते हैं) में चलाया है, तो आप set_time_limit का उपयोग नहीं कर सकते हैं और समय सीमा शायद 30 सेकंड या इससे भी कम है।

तो हाँ, एक वीपीएस शायद आपकी सबसे अच्छी शर्त है। अब, मेरे पास खुद का स्वामित्व नहीं है, और मुझे नहीं पता कि एक अच्छी/बुरी कीमत क्या है, लेकिन मैं कहूंगा कि HostGator ठीक लगता है।

+0

बिल्कुल सही जवाब, बिल्कुल मुझे क्या चाहिए! बहुत बहुत धन्यवाद :) –

+0

कृपया ध्यान दें कि सर्वर अनुप्रयोग के संबंध में समुदाय PHP में इतना अधिक नहीं है। यदि आप वैसे भी एक वीपीएस खरीदने जा रहे हैं, तो आपको [socket.io] (http://socket.io/) (Node.js) या [Autobahn] (http://autobahn.ws/) पर एक नज़र रखना चाहिए) (पायथन)। वे एकीकृत समाधान (सर्वर और क्लाइंट पक्षों के लिए मिलान पुस्तकालय) हैं जो अच्छी तरह से काम करने के लिए साबित हुए हैं। बेशक आप प्रोटोकॉल और "निम्न-स्तरीय" पहलुओं को समझने के लिए अपने न्यूनतम PHP सर्वर से शुरू कर सकते हैं। – eepp

+0

सबसे अच्छा PHP समाधान मुझे पता है [Ratchet] (http://socketo.me) है। अन्य भाषाओं के लिए कई स्वयं होस्टेड समाधान हैं (देखें [रीयलटाइम वेब तकनीक गाइड] (http://www.leggetter.co.uk/real-time-web-technologies-guide))। आम तौर पर PHP के लिए मैं एक होस्टेड समाधान का उपयोग करने की सिफारिश करता हूं। – leggetter

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