Versuchen jekyll serve --host=0.0.0.0
Sie es, wenn Sie Jekyll in der Befehlszeile aufrufen.
Dadurch wird der HTTP-Server von Jekyll an alle verfügbaren IPs gebunden und nicht nur an localhost
.
Sie können dies auch zu Ihrem _config.yml
mit hinzufügen host: 0.0.0.0
. GitHub ignoriert dies einfach, wenn Sie pushen. Es ist also sicher zu verwenden, wenn es Ihnen nichts ausmacht, Ihre Arbeit in Ihrem Netzwerk offen zugänglich zu machen.
Ohne --host=0.0.0.0
Jekyll wird beim Start Folgendes ausgegeben:
$ jekyll serve
[...]
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
Mit --host=0.0.0.0
(oder host: 0.0.0.0
in _config.yml
) werden Sie jedoch feststellen, dass alle Schnittstellen (dargestellt durch 0.0.0.0
) und nicht nur die Loopback-Schnittstelle (dargestellt durch 127.0.0.1
) abgehört werden.
$ jekyll serve --host=0.0.0.0
[...]
Server address: http://0.0.0.0:4000/
Server running... press ctrl-c to stop.
Wenn Sie immer noch nicht auf Ihren Server zugreifen können, wird er möglicherweise von einer Firewall gestoppt. Deaktivieren Sie vorübergehend Ihre Firewall oder fügen Sie eine Portweiterleitungsregel für Port 4000 hinzu.
/sbin/iptables -P INPUT ACCEPT
, um die Firewall zu öffnen. Fügen Sie diese Zeile optional hinzu,/etc/rc.local
wenn die Firewall bei Eingabe von chroot standardmäßig geöffnet sein soll. Siehe auch offizielle Anweisungen .Angenommen, Ihr Mobilgerät ist mit demselben LAN verbunden wie Ihr Entwicklungscomputer.
Stellen Sie die LAN-IP-Adresse Ihres Entwicklungscomputers fest. Normalerweise so etwas wie: 192.168.0.XXX. Wobei .XXX die eindeutigen letzten 3 Ziffern der LAN-IP Ihres Entwicklungscomputers sind.
Zeigen Sie mit dem Webbrowser Ihres Mobilgeräts auf: http://192.168.0.XXX:4000
So mache ich es auf meinem Laptop und iPhone für Jekyll dev.
quelle
--host=0.0.0.0
beim Starten des Servers angeben ? (Ich kann es im Moment nicht testen.)jekyll serve
. Dadurch wird der WebBrick-Server gestartet, der für jedes lokale Gerät oder jeden lokalen Computer verfügbar ist. Übrigens, ich gehe davon aus, dass Sie Jekyll> = 1.0.0 ausführen. Die Befehle sind für ältere Versionen unterschiedlich. Ausführen,jekyll --server
wenn <= 0.12.1 verwendet wird.jekyll serve
nicht funktioniert. Mein Mobilgerät konnte nur dann auf den Server zugreifen, wenn ich angerufen habejekyll serve --host=0.0.0.0
. Hat jemand eine Erklärung dafür?