关于heroku的jekyll博客

时间:2011-09-22 23:36:27

标签: ruby heroku jekyll

我正在尝试在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上工作?

3 个答案:

答案 0 :(得分:1)

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

  • 将您的静态文件检入您的git仓库。例如。进入像“public”这样的目录。
  • 设置config.ru文件以使用rack-static-if-present等中间件并将其指向公共目录。

答案 1 :(得分:0)

Jekyll生成静态HTML文件,因此无需使用Heroku。在S3上托管它会更好。有关在S3上托管静态网站的信息,请参阅this Amazon blog post。使用AWS免费套餐,您的网站第一年将完全免费(只要它的大小不超过5 GB),并且在此之后一个月便会花费便士

答案 2 :(得分:0)

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

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

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