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

然而,我想知道如何从局域网中的其他机器访问这个web服务器,尤其是移动设备?在将代码推送到Github之前,我正在try 在移动设备上测试jekyll站点.

推荐答案

在命令行上调用Jekyll时,请try jekyll serve --host=0.0.0.0次.

这将使Jekyll的HTTP服务器绑定到所有可用的IP,而不仅仅是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),您会注意到它监听所有接口(由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之类的位置检索)从移动设备访问该接口.

Ruby相关问答推荐

Ruby:对于不存在的键,使用缺省值Hash在Hash中存储Hash

使用map DO使用嵌套数组重构对象数组

使用 Ruby,我如何访问和比较这些嵌套的数组值?

类 SpecificationPolicy 的超类不匹配

Ruby 的 .() 运算符是如何工作的?

如何在 ruby​​ 中通过 SSL 调用 HTTP POST 方法?

是否应该在生产时缩小服务器代码?

这些 Ruby 命名空间约定之间有什么区别?

Ruby 中的 class() 与 type()

如何使用 Ruby 的邮件 gem 通过 smtp 发送Electron邮件?

为什么 Ruby 使用 respond_to?而不是 responds_to?

如何在 Ruby 中解冻对象?

Puppet/Facter无法检索事实 fqdn:如何修复或规避?

Ruby 中方法名称的限制是什么?

如何仅从 Gemfile 中查看依赖关系树?

Unexpected Return (LocalJumpError)

HAML 中 Javascript 中的 Ruby 方法

获取Ruby中当前目录的父目录

obj.nil?与 obj == nil

将哈希传递给函数 ( *args ) 及其含义