1

我正在尝试在 heroku 上设置一个 jekyll 博客。这是我的目录结构

.
├── Gemfile
├── Gemfile.lock
├── _layouts
│   └── default.html
├── _posts
├── _site
│   ├── Gemfile
│   ├── Gemfile.lock
│   ├── config.ru
│   └── index.html
├── config.ru
└── index.html

我的 Gemfile 有

source "http://rubygems.org"
gem 'jekyll'

并且只有其他包含任何内容的文件index.html

Hello world!

如果我运行jekyll --server它在本地运行良好。但是,如果我git push heroku master(在检查完所有内容后)我的 heroku 日志中出现此错误

!! Unexpected error while processing request: undefined method `[]' for nil:NilClass

如何让我的 jekyll 博客在 Heroku 上工作?

4

3 回答 3

1

我同意phsr的回答。使用亚马逊 CDN 或类似的东西可能会更好地为静态网站提供服务。但是要回答您的问题:

  • 将您的静态文件检查到您的 git 存储库中。例如进入像“public”这样的目录。
  • 设置一个 config.ru 文件以使用rack-static-if-present之类的中间件,并将其指向公共目录。
于 2011-09-22T23:54:15.043 回答
0

Jekyll 生成静态 HTML 文件,因此无需使用 Heroku。将它托管在 S3 上会更好。请参阅这篇关于在 S3 上托管静态站点的Amazon 博客文章。使用 AWS 免费套餐,您的网站将在第一年完全免费(只要它的大小低于 5 GB),然后一个月花费几美分

于 2011-09-22T23:42:29.767 回答
0

我在 Heroku 上运行 jekyll 博客时遇到了很多问题,但最终还是成功了。

如果这仍然相关,您可以在 github 上查看完整代码:https ://github.com/ramijames/Blueverve_public

您可以克隆并推送到 heroku 应用程序,并在那里摆弄实际设置。

于 2013-10-30T09:13:45.920 回答