2011-09-22 94 views
1

我正在尝试在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 

我怎样才能让我的哲基尔的博客在Heroku上工作?

回答

1

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

  • 检查你的静态文件到你的git仓库。例如。进入“公共”目录。
  • 设置一个config.ru文件以使用rack-static-if-present这样的中间件,并将其指向公共目录。
0

Jekyll生成静态HTML文件,所以不需要使用Heroku。在S3上托管它将是一个更好的主意。在S3上托管静态站点请参见this Amazon blog post。使用AWS免费套餐,您的网站在第一年就会完全免费(只要它的尺寸小于5 GB),并且在此之后一个月就会花费几分钱

0

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

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

您可以克隆,并推送到Heroku的应用程序和小提琴与实际安装在那里。