101

在一台机器上使用后jekyll serve,一个 WEBrick 服务器被设置,并且可以localhost:4000从这台特定的 PC 上访问该站点。

但是,我想知道如何从 LAN 中的其他机器访问此 Web 服务器,尤其是对于移动设备?在将代码推送到 Github 之前,我正在尝试在移动设备上测试 jekyll 站点。

4

2 回答 2

208

jekyll serve --host=0.0.0.0在命令行上调用 Jekyll 时尝试一下。

这将使 Jekyll 的 HTTP 服务器绑定到所有可用的 IP,而不仅仅是localhost.

您也可以将此添加到您的_config.ymlwith 中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.0in _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 地址从移动设备访问它(从类似ifconfigipconfig取决于您的操作系统的东西中检索)。

于 2013-05-17T12:11:14.127 回答
-7

假设您的移动设备与您的开发机器连接到同一个 LAN。

  1. 确定开发机器的 LAN IP 地址。通常类似于:192.168.0.XXX。其中 .XXX 是您的开发机器 LAN IP 的唯一最后 3 位数字。

  2. 将您的移动设备的网络浏览器指向:http: //192.168.0.XXX :4000

这就是我在笔记本电脑和 iPhone 上为 Jekyll 开发人员所做的事情。

于 2013-05-18T22:11:13.193 回答