在一台电脑上使用jekyll serve
后,会设置一个WEBrick服务器,可以通过该特定PC上的localhost:4000
访问该站点。
但是,我想知道如何从局域网中的其他计算机访问此Web服务器,尤其是移动设备? 在将代码推送到Github之前,我正在尝试在移动设备上测试jekyll站点。
当您在命令行上调用Jekyll时,请尝试使用jekyll serve --host=0.0.0.0
。
这将使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
(或者在_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添加端口转发规则。ifconfig
或ipconfig
的内容检索操作系统)从移动设备访问此内容。假设您的移动设备与开发机器连接到同一局域网。
确定您的开发机器的局域网IP地址。通常是:192.168.0.XXX。其中,XXX是您的开发机器局域网IP的唯一后三位数字。
将您的移动设备的Web浏览器指向:http://192.168.0.XXX:4000
这就是我在我的笔记本电脑和iPhone上进行Jekyll开发的方法。
--host=0.0.0.0
吗?(目前无法测试。) - Yi Zengjekyll serve
即可。这将启动WebBrick服务器,并可供任何本地设备或机器使用。顺便说一句,我假设您正在运行Jekyll >=1.0.0,对于旧版本,命令是不同的。如果使用<= 0.12.1,请运行jekyll --server
。 - J W