杰基尔不在当地提供服务

时间:2014-03-12 13:29:17

标签: ruby macos jekyll

配置: OSX 10.9.1,ruby 2.1.1来自RVM

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

然后我进入该目录并发出命令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.

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

我已检查并且网站构建正确,包括index.html中的/Users/George/sitename/_site/

_config.yml看起来像这样:

name: sitename
markdown: maruku
pygments: true

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

修改:如果我将端口更改为6000并尝试投放,那么我的浏览器会立即提供page not found,因此必须存在干扰端口{{1但问题仍然存在。

1 个答案:

答案 0 :(得分:4)

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

sudo lsof -i :4000

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

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

baseurl中的/设置为_config.yml

baseurl: /

使用--baseurl标志启动Jekyll:

$ jekyll serve -w --baseurl '/'

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

$ jekyll server -w --baseurl '/' --port 4000

如果您想了解运行jekyll时发生了什么的更多信息,可以使用--trace标志运行命令:

$ jekyll server -w --trace