在一台机器上使用后jekyll serve
,一个 WEBrick 服务器被设置,并且可以localhost:4000
从这台特定的 PC 上访问该站点。
但是,我想知道如何从 LAN 中的其他机器访问此 Web 服务器,尤其是对于移动设备?在将代码推送到 Github 之前,我正在尝试在移动设备上测试 jekyll 站点。
jekyll serve --host=0.0.0.0
在命令行上调用 Jekyll 时尝试一下。
这将使 Jekyll 的 HTTP 服务器绑定到所有可用的 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
in _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
取决于您的操作系统的东西中检索)。
假设您的移动设备与您的开发机器连接到同一个 LAN。
确定开发机器的 LAN IP 地址。通常类似于:192.168.0.XXX。其中 .XXX 是您的开发机器 LAN IP 的唯一最后 3 位数字。
将您的移动设备的网络浏览器指向:http: //192.168.0.XXX :4000
这就是我在笔记本电脑和 iPhone 上为 Jekyll 开发人员所做的事情。