LAN'daki mobil cihazları kullanarak yerel olarak oluşturulmuş bir Jekyll Sunucusuna bağlanın


90

jekyll serveBir makinede kullanıldıktan sonra , bir WEBrick sunucusu kurulur ve siteye localhost:4000bu belirli bilgisayardan erişilebilir .

Ancak, bu web sunucusuna özellikle mobil cihazlar için LAN'daki diğer makinelerden nasıl erişileceğini merak ediyorum? Kodu Github'a göndermeden önce jekyll sitesini mobil cihazlarda test etmeye çalışıyorum.

Yanıtlar:


190

jekyll serve --host=0.0.0.0Komut satırında Jekyll'i çağırdığınızda deneyin .

Bu, Jekyll'in HTTP sunucusunun sadece bağlanmaktan ziyade mevcut tüm IP'lere bağlanmasını sağlayacaktır localhost.

Ayrıca bu ekleyebilir _config.ymlile host: 0.0.0.0. GitHub, bastığınızda bunu basitçe görmezden gelir, bu nedenle işinizin ağınızda açıkça erişilebilir olmasını istemiyorsanız kullanmak güvenlidir.


--host=0.0.0.0Jekyll olmadan , başlattığınızda şöyle bir çıktı:

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

Ancak --host=0.0.0.0(veya host: 0.0.0.0içinde _config.yml) 0.0.0.0ile, yalnızca geri döngü arayüzünü (ile temsil edilen 127.0.0.1) dinlemek yerine tüm arayüzlerde (ile temsil edilen ) dinlediğini fark edeceksiniz

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

Sunucunuza hala erişemiyorsanız, onu durduran bir güvenlik duvarı olabilir. Güvenlik duvarınızı geçici olarak devre dışı bırakın veya 4000 numaralı bağlantı noktası için bir bağlantı noktası yönlendirme kuralı ekleyin.


Jekyll tüm arayüzleri uygun şekilde dinledikten sonra, buna mobil cihazınızdan LAN IP adresinizi kullanarak erişebilirsiniz ( işletim sisteminize bağlı olarak ifconfigveya benzeri bir şeyden alınır ipconfig).


3
İlk bölüm belirtildiği gibi çalıştı (jekyll 2.5.3), ikinci bölümü test etmedi (yapılandırma dosyasına giriş hakkında).
j4v1

7
Daha sonra sitenize erişmek için diğer bilgisayarınızda / mobil cihazınızda barındırma yapan bilgisayarın ipini yazın. (Muhtemelen 192.168.1.5:4000 gibi bir şey). İşte
Ross R

Crouton altında Chromebook'ta bir sunucu çalıştırmaya çalışıyorsanız /sbin/iptables -P INPUT ACCEPT, güvenlik duvarını açmak için de çalıştırmanız gerekecektir. İsteğe bağlı olarak /etc/rc.local, chroot girdiğinizde güvenlik duvarının varsayılan olarak açılmasını istiyorsanız bu satırı ekleyin . Resmi talimatlara da bakın .
Alex Yursha

1
ancak ana makinede açılmayan http: 0.0.0.0: 4000 işaretini gösterdikleri için {{site.url}} ile tüm görüntüleri çökertiyor
GorvGoyl

1
Bu soruya tam olarak cevap vermiyor, kullanılacak adres nedir? localhost: 4000 veya 0.0.0.0:4000 veya başka bir şey?
Andy

-8

Mobil cihazınızın geliştirme makineniz ile aynı LAN'a bağlı olduğunu varsayarsak.

  1. Geliştirme makinenizin LAN IP adresini doğrulayın. Genellikle şöyle bir şey: 192.168.0.XXX. Burada .XXX, dev makinenizin LAN IP'sinin benzersiz son 3 hanesidir.

  2. Mobil cihazınızın web tarayıcısını şu adrese yönlendirin: http://192.168.0.XXX:4000

Jekyll dev için dizüstü bilgisayarımda ve iPhone'da bunu böyle yapıyorum.


2
--host=0.0.0.0Sunucuyu başlatırken belirtmem gerekir mi? (Şu anda test edemiyorum.)
Yi Zeng

@ user1177636, hayır, gerekli değil, sadece jekyll serve. Bu, herhangi bir yerel cihaz veya makinede kullanılabilecek WebBrick sunucusunu başlatacaktır. BTW, Jekyll> = 1.0.0 çalıştırdığınızı varsayıyorum, komutlar eski sürümler için farklıdır. jekyll --server<= 0.12.1 kullanılıyorsa çalıştırın .
JW

Bir şekilde --host = 0.0.0.0 belirtmeden benim için işe yaramadı. Düzeltmek için kullandığınız Güvenlik Duvarı ayarları neydi?
skjoshi

2
Benim için de koşmak jekyll serveişe yaramadı. Ben çalmadıkça mobil cihazım sunucuya erişemedi jekyll serve --host=0.0.0.0. Bunun için bir açıklaması olan var mı?
fraxture

2
@fraxture jekyll server varsayılan olarak localhost'ta dinler (127.0.0.1), sadece üzerinde çalıştığı makinedeki geridöngü bağdaştırıcısı aracılığıyla erişilebilir. 0.0.0.0'a bağlanmasını söyleyerek ona tüm arayüzlere bağlanmasını söylüyorsunuz ve böylece (ethernet / kablosuz / vb.) arayüzünüze bağlanıyor ve böylece lan tarafından da erişilebilir.
Doon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.