LAN में मोबाइल उपकरणों का उपयोग करके स्थानीय रूप से निर्मित Jekyll Server से कनेक्ट करें


89

jekyll serveएक मशीन पर उपयोग करने के बाद , एक WEBrick सर्वर स्थापित किया जाता है और साइट localhost:4000को इस विशेष पीसी से एक्सेस किया जा सकता है ।

हालाँकि, मैं सोच रहा हूँ कि इस वेब सर्वर को लैन में अन्य मशीनों से कैसे एक्सेस किया जाए, खासकर मोबाइल उपकरणों के लिए? मैं गिथब को कोड पुश करने से पहले मोबाइल उपकरणों पर जेकिल साइट का परीक्षण करने की कोशिश कर रहा हूं।

जवाबों:


188

jekyll serve --host=0.0.0.0जब आप कमांड लाइन पर Jekyll आह्वान करते हैं तो कोशिश करें ।

यह Jekyll के HTTP सर्वर को केवल उपलब्ध करने के बजाय सभी उपलब्ध IPs से बाँध देगा localhost

आप इसे अपने _config.ymlसाथ भी जोड़ सकते हैं host: 0.0.0.0। जब आप धक्का देते हैं तो GitHub इसे आसानी से अनदेखा कर देगा, इसलिए इसका उपयोग करना सुरक्षित है अगर आपको अपने काम को अपने नेटवर्क पर खुले तौर पर सुलभ होने में कोई आपत्ति नहीं है।


बिना --host=0.0.0.0Jekyll इस तरह उत्पादन कुछ है जब आप शुरू होगा:

$ jekyll serve
[...]
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.

लेकिन --host=0.0.0.0(या host: 0.0.0.0में _config.yml) आप देखेंगे कि यह 0.0.0.0लूपबैक इंटरफेस (केवल प्रतिनिधित्व 127.0.0.1) पर सुनने के बजाय सभी इंटरफेस (द्वारा प्रतिनिधित्व किया गया ) पर सुन रहा है

$ jekyll serve --host=0.0.0.0
[...]
Server address: http://0.0.0.0:4000/
Server running... press ctrl-c to stop. 

यदि आप अभी भी अपने सर्वर तक नहीं पहुंच सकते हैं, तो इसे रोकना फ़ायरवॉल हो सकता है। अस्थायी रूप से अपने फ़ायरवॉल को अक्षम करें, या पोर्ट 4000 के लिए पोर्ट अग्रेषण नियम जोड़ें।


एक बार जब Jekyll उचित रूप से सभी इंटरफेस पर सुन रहा है, तो आप अपने LAN IP पते का उपयोग करके अपने मोबाइल डिवाइस से इसे एक्सेस कर सकते हैं (कुछ इस तरह से ifconfigया ipconfigअपने ऑपरेटिंग सिस्टम के आधार पर प्राप्त किया जा सकता है )।


3
पहले भाग को संकेत के रूप में काम किया (जेकिल 2.5.3), दूसरे भाग का परीक्षण नहीं किया (विन्यास फाइल में प्रविष्टि के बारे में)।
j4v1

7
फिर अपनी साइट को अपने अन्य कंप्यूटर / मोबाइल डिवाइस पर एक्सेस करने के लिए, होस्टिंग करने वाले कंप्यूटर के आईपी में टाइप करें। (शायद 192.168.1.5:4000 जैसा कुछ)। और यहां अपना आईपी खोजने का एक तरीका है: stackoverflow.com/a/13322549/1400991
Ross R

यदि आप Crouton के अंतर्गत Chromebook पर सर्वर चलाने का प्रयास कर रहे हैं, तो आपको /sbin/iptables -P INPUT ACCEPTफ़ायरवॉल खोलने के लिए भी चलना होगा । /etc/rc.localयदि आप चाहते हैं कि जब आप चुरोट में प्रवेश करें तो फ़ायरवॉल डिफ़ॉल्ट रूप से खुला होना चाहे, तो इस पंक्ति को जोड़ें । आधिकारिक निर्देश भी देखें ।
एलेक्स युरशा

1
लेकिन यह {{site.url}} के साथ सभी छवियों को क्रैश कर रहा है क्योंकि वे http: 0.0.0.0: 4000 की ओर इशारा कर रहे हैं जो मुख्य मशीन में नहीं खुल रहा है
गोरवग्ल

1
यह पूरी तरह से इस सवाल का जवाब नहीं देता है कि इसका उपयोग करने के लिए क्या पता है? लोकलहोस्ट: 4000 या 0.0.0.0:4000 या कुछ और?
एंडी

-8

मान लें कि आपका मोबाइल उपकरण आपकी विकास मशीन के समान LAN से जुड़ा हुआ है।

  1. अपनी विकास मशीन के LAN IP पते को सुनिश्चित करें। आमतौर पर कुछ इस तरह: 192.168.0.XXX। जहाँ .XXX आपकी देव मशीन के LAN IP का अद्वितीय अंतिम 3 अंक है।

  2. अपने मोबाइल डिवाइस के वेब ब्राउज़र को इंगित करें: http://192.168.0.XXX:4000

जेकेयेल देव के लिए मैं अपने लैपटॉप और आईफोन पर ऐसा करता हूं।


2
क्या मुझे --host=0.0.0.0सर्वर शुरू करते समय निर्दिष्ट करने की आवश्यकता है ? (फिलहाल मैं इसका परीक्षण नहीं कर सकता।)
यी ज़ेंग

@ user1177636, नहीं, आवश्यक नहीं, बस jekyll serve। वह वेबब्रिक सर्वर लॉन्च करेगा जो किसी भी स्थानीय डिवाइस या मशीन के लिए उपलब्ध होगा। BTW, मुझे लगता है कि आप Jekyll> = 1.0.0 चला रहे हैं, पुराने संस्करणों के लिए कमांड अलग हैं। jekyll --serverयदि <= 0.12.1 का उपयोग कर चलाएं ।
JW

किसी तरह यह निर्दिष्ट किए बिना मेरे लिए काम नहीं किया --host = 0.0.0.0। इसे ठीक करने के लिए आपके द्वारा उपयोग की जाने वाली फ़ायरवॉल सेटिंग्स क्या थीं?
skjoshi

2
मेरे लिए भी, दौड़ने से jekyll serveकाम नहीं चला । जब तक मैंने कॉल नहीं किया तब तक मेरा मोबाइल डिवाइस सर्वर तक पहुंचने में असमर्थ था jekyll serve --host=0.0.0.0। किसी को भी इस के लिए एक स्पष्टीकरण है?
प्रात: 9:15

2
@fraxture jekyll लोकलहोस्ट (127.0.0.1) पर डिफ़ॉल्ट रूप से सुनता है यह मशीन पर चल रहे लूपबैक एडॉप्टर के माध्यम से ही सुलभ है। इसे 0.0.0.0 से बाँधने के लिए कहकर आप इसे सभी इंटरफेस से बाँधने के लिए कह रहे हैं, और इस प्रकार यह आपके (ईथरनेट / वायरलेस / आदि) इंटरफ़ेस से बंध जाता है और इस तरह से लैन साइड के माध्यम से भी पहुँच योग्य है।
दून
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.