在jekyll serve
一台计算机上使用后,将设置WEBrick服务器,并且可以从此localhost:4000
特定PC上访问该站点。
但是,我想知道如何从LAN中的其他机器(特别是对于移动设备)访问此Web服务器?在将代码推送到Github之前,我正在尝试在移动设备上测试jekyll网站。
Answers:
jekyll serve --host=0.0.0.0
在命令行上调用Jekyll时尝试。
这将使Jekyll的HTTP服务器绑定到所有可用IP,而不仅仅是绑定到localhost
。
您也可以使用将它添加到您_config.yml
的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
中的_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位数字。
将您的移动设备的Web浏览器指向:http : //192.168.0.XXX : 4000
这就是我在Jekyll开发人员的笔记本电脑和iPhone上执行此操作的方式。
--host=0.0.0.0
启动服务器时需要指定吗?(我目前无法测试。)
jekyll serve
。这将启动WebBrick服务器,该服务器将可用于任何本地设备或计算机。顺便说一句,我假设您正在运行Jekyll> = 1.0.0,对于较旧的版本,这些命令是不同的。jekyll --server
如果使用<= 0.12.1,则运行。
jekyll serve
也行不通。除非我打电话,否则我的移动设备无法访问服务器jekyll serve --host=0.0.0.0
。有人对此有解释吗?