在一台机器上使用 jekyll serve
后,一个 WEBrick 服务器就设置好了,站点可以从这台特定 PC 上的 localhost:4000
访问。
但是,我想知道如何从局域网中的其他机器访问这个网络服务器,特别是对于移动设备?在将代码推送到 Github 之前,我尝试在移动设备上测试 jekyll 站点。
最佳答案
当您在命令行上调用 Jekyll 时,尝试 jekyll serve --host=0.0.0.0
。
这将使 Jekyll 的 HTTP 服务器绑定(bind)到所有可用的 IP,而不仅仅是绑定(bind)到 localhost
。
您还可以使用 host: 0.0.0.0
将其添加到您的 _config.yml
。当您推送时,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
(或 _config.yml
中的 host: 0.0.0.0
)你会注意到它监听所有接口(interface)(由 0.0.0.0
表示),而不是只监听环回接口(interface)(由 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 适本地监听所有接口(interface),您就可以使用您的 LAN IP 地址从您的移动设备访问它(根据您的情况从 ifconfig
或 ipconfig
操作系统)。
关于ruby - 使用局域网中的移动设备连接到本地构建的 Jekyll Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16608466/