Попробуйте, jekyll serve --host=0.0.0.0
когда вы вызываете Jekyll из командной строки.
Это заставит HTTP-сервер Jekyll связываться со всеми доступными IP-адресами, а не только с localhost
.
Вы также можете добавить это в свой файл _config.yml
with host: 0.0.0.0
. GitHub просто проигнорирует это, когда вы нажмете, поэтому его безопасно использовать, если вы не возражаете, чтобы ваша работа была открыто доступна в вашей сети.
Без --host=0.0.0.0
Jekyll при запуске будет выводиться что-то вроде этого:
$ 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 надлежащим образом прослушивает все интерфейсы, вы можете получить к нему доступ со своего мобильного устройства, используя свой IP-адрес в локальной сети (полученный из чего-то вроде ifconfig
или в ipconfig
зависимости от вашей операционной системы).
/sbin/iptables -P INPUT ACCEPT
чтобы открыть брандмауэр. При желании добавьте эту строку,/etc/rc.local
если хотите, чтобы брандмауэр был открыт по умолчанию при входе в chroot. См. Также официальные инструкции .Предполагая, что ваше мобильное устройство подключено к той же локальной сети, что и ваша машина для разработки.
Подтвердите IP-адрес LAN вашей машины разработки. Обычно что-то вроде: 192.168.0.XXX. Где .XXX - это уникальные последние 3 цифры сетевого IP-адреса вашего компьютера разработчика.
В браузере мобильного устройства укажите: http://192.168.0.XXX:4000
Вот как я делаю это на своем ноутбуке и iPhone для разработчиков Jekyll.
источник
--host=0.0.0.0
при запуске сервера? (На данный момент я не могу это проверить.)jekyll serve
. Это запустит сервер WebBrick, который будет доступен для любого локального устройства или машины. Кстати, я предполагаю, что вы используете Jekyll> = 1.0.0, команды для более старых версий отличаются. Выполнить,jekyll --server
если используется <= 0.12.1.jekyll serve
не работал. Мое мобильное устройство не могло получить доступ к серверу, пока я не позвонилjekyll serve --host=0.0.0.0
. У кого-нибудь есть объяснение этому?