2010-11-02 24 views
4

我試圖在Heroku上部署應用程序,但尚未運行。我看到了Rails 500頁(「很抱歉,但出事了」),但是當我heroku logs我看到什麼有趣:Heroku應用程序在發佈時默默無聞

==> exceptional.log <== 
# Logfile created on Tue Nov 02 11:27:18 -0700 2010 by logger.rb 
[INFO] (init.rb:21) Tue Nov 02 18:27:18 UTC 2010 - Loading Exceptional 2.0.26 for 2.3.5 

==> dyno-2858334.log <== 
>> Thin web server (v1.2.6 codename Crazy Delicious) 
>> Maximum connections set to 1024 
>> Listening on 0.0.0.0:15336, CTRL+C to stop 

==> production.log <== 
# Logfile created on Tue Nov 02 11:27:17 -0700 2010 

正如你所看到的,我已經安裝了特殊插件,和例外沒有報告任何例外。

在Heroku的應用程序啓動過程中,可能會默默地失敗?

+0

你有沒有試過對你的git repo做一些小事,然後推向heroku?你有最後一個'git push heroku'的輸出嗎? – 2010-11-02 20:13:51

+0

你能做'heroku rake db:migrate'嗎?如何打開'heroku控制檯'並通過它訪問你的應用程序? – monocle 2010-11-03 05:07:43

+0

是的,這兩個工作沒有任何問題。 – Peeja 2010-11-04 13:00:58

回答

4

答案是:我們的應用程序是用無禮的話,它試圖其已編譯的CSS寫入public/目錄。在Heroku上,這是在只讀文件系統上。相反,我安裝了Hassle,它將編譯後的Sass CSS置於tmp/之下,它是可讀寫的。

的Heroku支持通過環境設置爲development,這使得要記錄的錯誤發現了問題:

heroku config:add RACK_ENV=development 

麻煩網站推薦加入無憂作爲一個插件,但我不喜歡,當我使用插件只能使用寶石。我得到了它通過將其添加到Gemfile中,並加入這environment.rb工作:

# existing requires 
# ... 

require 'hassle' 

Rails::Initializer.run do |config| 
    # ... 
    # existing config 
    # ... 

    config.middleware.use Hassle 
end 

現在它只是工作。

+0

這正是我所期待的。謝謝! – Glenn 2011-03-06 18:40:26

+0

只需要注意......如果您使用的是Rails 3,請使用以下分支:https://github.com/Papipo/hassle – Glenn 2011-03-06 18:54:18

1

事實上,你看到Rails的500頁意味着應用程序運行正常(例如,它能夠啓動併產生500錯誤)。

一個問題可能是您的數據庫未被遷移。嘗試遷移它或上傳您的開發數據庫。

3

嘗試(從您的應用程序的根目錄)做:

heroku rake db:migrate 
heroku db:push 
相關問題