2011-09-22 131 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的應用程序和小提琴與實際安裝在那裏。