Jekyll 不在本地服务站点

Geo*_*ith 5 ruby macos jekyll

配置: OSX 10.9.1,ruby 2.1.1 通过RVM

我通过命令创建了一个新的Jekyll站点jekyll new sitename。

然后我进入该目录并发出命令jekyll serve。

我收到以下通知:

Configuration file: /Users/George/sitename/_config.yml
            Source: /Users/George/sitename
       Destination: /Users/George/sitename/_site
      Generating... done.
    Server address: http://0.0.0.0:4000
  Server running... press ctrl-c to stop.
Run Code Online (Sandbox Code Playgroud)

但是,当尝试访问http://localhost:4000/或http://0.0.0.0:4000/我的浏览器无休止地尝试加载页面时。

我已经检查过,该网站构建正确,包括一个index.htmlin /Users/George/sitename/_site/。

在_config.yml看起来像这样:

name: sitename
markdown: maruku
pygments: true
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么 Jekyll 可能无法为网站提供服务但不会抛出任何错误?

编辑:如果我将端口更改为6000并尝试为其提供服务,那么我的浏览器会立即给出一个,page not found因此必须有一些干扰端口4000的问题,但问题仍然存在。

小智 5

很可能有其他东西正在使用4000您计算机上的端口。您可以通过运行以下命令来查找:

sudo lsof -i :4000
Run Code Online (Sandbox Code Playgroud)

由于您可以在另一个端口上运行服务器,因此我们将继续下一期,设置 baseurl。在您中,_config.yml您可以指定要baseurl使用的内容,这将是提供所有页面的 url,因此,如果您有baseurl: http://myawesomesite.com,Jekyll 将期望从该 url 访问它们。

当您在本地工作时,您有两种选择:

在您的:中设置baseurl为:/_config.yml

baseurl: /
Run Code Online (Sandbox Code Playgroud)

使用以下标志启动 Jekyll --baseurl:

$ jekyll serve -w --baseurl '/'
Run Code Online (Sandbox Code Playgroud)

此外,您可以将端口指定为标志:

$ jekyll server -w --baseurl '/' --port 4000
Run Code Online (Sandbox Code Playgroud)

如果您想了解有关运行时发生的情况的更多信息jekyll,可以使用以下--trace标志运行该命令:

$ jekyll server -w --trace
Run Code Online (Sandbox Code Playgroud)