ruby - 使用局域网中的移动设备连接到本地构建的 Jekyll Server

标签 ruby github jekyll webrick

在一台机器上使用 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 地址从您的移动设备访问它(根据您的情况从 ifconfigipconfig操作系统)。

关于ruby - 使用局域网中的移动设备连接到本地构建的 Jekyll Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16608466/

相关文章:

jekyll - 如何禁用 Kramdown 中的缩进代码块以便在 Jekyll 中使用

javascript - ruby 中的递归正则表达式

ruby-on-rails - 使用 ruby​​ 衡量针对单个规范的代码覆盖率的最佳方法是什么?

git - 无法通过 HTTP 推送 git repo

github - 私有(private) Github 存储库的私有(private)页面

Jekyll 显示子类别的帖子数

html - 在 Jekyll 标签中包含 HTML

ruby - 无法使 setter 方法起作用

Ruby,数组哈希的最大值

Git push返回错误并且不提示输入密码