2011-12-03 20 views
8

मैं PeepCode से और लगभग 27-29 मिनट में अनुसरण कर रहा हूं, उन्होंने हमें रेल सर्वर शुरू किया है। मेरे सबसे अच्छे ज्ञान के लिए, मेरे पास रेल (और रूबी) सफलतापूर्वक स्थापित है।रेल सर्वर काम नहीं कर रहा है?

जब मैं कमांड rails server चलाने (वीडियो के निर्देशों के अनुसार विंडोज 7 कमांड प्रॉम्प्ट से), मैं संदेश मिलता है:

=> Booting WEBrick 
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
[2011-12-02 18:37:57] INFO WEBrick 1.3.1 
[2011-12-02 18:37:57] INFO ruby 1.9.3 (2011-10-30) [i386-mingw32] 
[2011-12-02 18:37:57] INFO WEBrick::HTTPServer#start: pid=5584 port=3000 

और यह शीघ्र करने के लिए वापस नहीं करता है, यह दर्शाता है यह है कि चल रहा है। इसके अलावा, मेरे लिए (और वीडियो की तुलना में), यह एक सफल संदेश की तरह दिखता है।

हालांकि, जब मैं यूआरएल पर ब्राउज़ करता हूं, http://0.0.0.0:3000, जैसा कि वीडियो द्वारा निर्देशित किया गया है, मुझे एक त्रुटि मिलती है (जबकि वीडियो रूबी के लिए डिफ़ॉल्ट अनुक्रमणिका पृष्ठ पर खुलती है)। त्रुटि मैं मिलता है:

Error 108 (net::ERR_ADDRESS_INVALID): Unknown error. 

जब से मैं गूगल क्रोम का उपयोग कर रहा है, यह भी कहते हैं:

http://0.0.0.0:3000/ पर मौजूद वेबपृष्ठ अस्थायी रूप से बंद हो सकता है या यह एक नए वेब पते पर स्थायी रूप से ले जाया गया है ।

तो, मैं सोच रहा था कि इसे कैसे ठीक किया जाए?

+11

जब से आप विंडोज़ पर हैं, तो 127.0.0.1:3000 या http: // localhost: 3000 –

+0

आज़माएं @ जेसे वेल्गामॉट मैंने कोशिश की, और यह काम करता है। धन्यवाद! – Bhaxy

+3

वह सिंडो नहीं है;) विशिष्ट। 127.0.0.1 ओएस –

उत्तर

12

0.0.0.0 आईपी पता है कि वेब्रिक बाध्यकारी है। इसका मतलब है 'सभी इंटरफेस सुनें'। दूसरे शब्दों में, आप इस एप्लिकेशन से आंतरिक पते (लोकलहोस्ट या 127.0.0.1) के साथ-साथ नेटवर्क पर बाहरी पता (192.168.1.x या 10.0.10.x या डोमेन नाम से कनेक्ट कर सकते हैं जो एक डोमेन नाम से कनेक्ट हो सकते हैं इस मशीन को नेटवर्क पर संबोधित करें)। सर्वर परवाह नहीं है कि अनुरोध कहां से आता है।

यदि, हालांकि, आपने '-b' या '--binding' विकल्प के साथ रेल सर्वर शुरू किया है और सर्वर को 127.0.0.1 से जुड़ने के लिए कहा है, तो सर्वर बाहरी इंटरफ़ेस के अनुरोधों का जवाब नहीं देगा। आप अभी भी 127.0.0.1 या लोकलहोस्ट का उपयोग कर सकते हैं लेकिन आप स्थानीय रूप से या किसी अन्य मशीन से इसके बाहरी आईपी पते का उपयोग करके इस सर्वर से कनेक्ट नहीं हो सके।

http: // 0.0.0.0:3000 पर जाकर मेरे लिनक्स सिस्टम पर काम करता है और संभवतः आप जिस स्क्रीनकास्ट को देख रहे थे वह एक मैक का उपयोग कर रहा था जो काम करेगा। मेरा अनुमान है कि 0.0.0.0 विंडोज पर समर्थित नहीं है।

यदि आप बॉक्स में हैं या बॉक्स के आईपी पते पर हैं तो आप स्थानीयहोस्ट का उपयोग करें यदि आप इसे किसी अन्य मशीन से एक्सेस कर रहे हैं। यही वह है जो मैं करता हूं, भले ही मैं मशीन चला रहा हूं जो 0.0.0.0 को समझता है।

3

आप इस आदेश के साथ सर्वर शुरू कर सकते हैं:

rails server -b localhost 

लेकिन एक आलसी टाइपिस्ट, मेरे .bash_aliases में के रूप में, मैं इस उर्फ ​​

alias rs='r s -b localhost' 

अन्य नाम के साथ है, मैं सर्वर शुरू कर सकते हैं बस:

rs 
+0

से बाहर की जा रही है तो बस स्पष्टीकरण के लिए, स्थानीयहोस्ट को बाध्यकारी का अर्थ है कि आप केवल स्थानीय मशीन से साइट तक पहुंच सकते हैं। यदि आप एक ट्यूटोरियल कर रहे हैं, या आप नहीं चाहते हैं कि दूसरों को आपकी साइट पर हिट करने में सक्षम हो, तो यह वही है जो आप चाहते हैं। अन्यथा, बस डिफ़ॉल्ट बाध्यकारी छोड़ दें और अपने ऐप तक पहुंचने के लिए http: // localhost: 3000 का उपयोग करें। –

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