2012-04-02 169 views
25

很確定有些人以前遇到過這個問題。Heroku錯誤H14(沒有web進程運行)

遵循所有說明來設置節點和npm。推向英雄時,沒有錯誤。但是,當我打開應用程序,它顯示 「應用程序錯誤」

heroku ps 

回報

Process State  Command  
------- --------- ------------ 
main.1 up for 1m node main.js 

heroku logs 

回報

Error H14 (No web processes running) -> GET mewtwo.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 

我試圖重新啓動與應用heroku restart但聖生病得到相同的錯誤。谷歌周圍和除了heroku restart之外沒有其他解決方案。任何人試過其他方法?


答:(我把它放在這裏,因爲我的代表處是太低張貼答案了)

好吧終於想通了自己。

顯然在Procfile,我宣佈

main: node main.js 

但是Heroku的使用

web: node main.js 

我以爲命名可以是你想要的任何東西,但它實際上是嚴格的,你需要使用網絡因爲它起作用了(heroku並沒有強調這一點 - 保持警惕),至少現在,直到我弄清楚爲什麼這樣嚴格,如果我能改變這個名字。

+0

你確定你買了基於web工人實例? – sarnold 2012-04-02 02:14:45

+0

我必須購買嗎?我只是按照設置教程 - https://devcenter.heroku.com/articles/nodejs,我想它是免費的,除非你想添加更多? – 2012-04-02 02:17:47

+0

發現報價「長時間運行多個測功機可能會對您的帳戶收取費用」。我只運行一個。 – 2012-04-02 02:21:03

回答

13

您的Web進程的名稱必須是web,這是Heroku在初始部署時始終會擴展爲「1」的過程。

Procfile中的其他服務可以調用你想要的,但是你需要最初擴展它們(所以如果你需要的話,你可以只有開發過程)。

點擊此處瞭解詳情:http://neilmiddleton.com/the-procfile-is-your-friend/ (緩存版本:https://web.archive.org/web/20130926005616/http://www.neilmiddleton.com/the-procfile-is-your-friend

+0

我想補充一點,如果他真的希望命名進程爲「主」,這與web無關(對於工作進程,應該沒有http路由),他可以通過縮放web = 0 main = 1,然後重新啓動 – 2012-04-04 03:10:43

+0

無需重新啓動縮放。 – 2012-04-05 23:02:49

71

我有同樣的問題,但對我來說,那是因爲我需要運行heroku ps:scale web=1

+11

如果你最初忘記推送一個'Procfile',那麼這是需要的。在這種情況下,即使稍後推送或運行'heroku ps:restart'也無濟於事。 – kynan 2013-11-11 20:54:58

+3

我在添加Procfile後沒有看到任何東西。但是然後設置ps:scale web = 1立即啓動並運行。謝謝! – emilebaizel 2013-11-18 22:45:46

+0

使用'heroku fork'複製應用程序後發生在我身上 – 2014-06-24 09:15:05

相關問題