2016-02-26 72 views
4

我想部署一個Heroku應用程序,我相信procfile可能是我的應用程序沒有部署的原因。我嘗試過多種解決方案,包括:如何使用bin/www編寫node.js heroku部署的Procfile?

網:節點./bin/www 網站:NPM啓動

有可能是另一個原因,我的應用程序無法正常工作,但我想確保我的Procfile設置正確

回答

4

這是我有:

  1. 在項目的根目錄下一個名爲Procfile(沒有文件擴展名)
  2. 文件裏面,第一行讀小號web: bin/web
  3. bin目錄也位於項目的魯德目錄,我有一個名爲web文件,裏面我有node ./bin/www(好,我有更多的,但讓我們保持簡單)。
  4. bin目錄中有另一個文件,名爲www,其中我有啓動節點服務器的代碼。
  5. bin目錄兩個文件都必須是可執行文件,並且你可以通過做chmod +x file_name

解釋爲Procfile

設置此如上所述,在Procfile我這一行:web: bin/web哪裏

  1. web: - 是進程的名稱,並需要web對Heroku的喜歡你:)
  2. bin/web - 是通向你的文件

我希望這有助於:)

+0

嘿謝謝你的幫助。不幸的是我的應用程序仍然沒有部署,但至少我知道Procfile現在已經正確設置。這是我在日誌中得到的消息: 2016-02-26T23:37:33.319462 + 00:00 heroku [router]:at = error code = H10 desc =「App crashed」method = GET path =「/」 host = nodeguestbook.herokuapp.com request_id = 9bb42708-6af6-4762-80cb-d7a770c733de fwd =「97.90.145.90」dyno = connect = service = status = 503 bytes = –

+0

好的,你的應用程序開始了,但必須有東西你的代碼錯了。轉到Heroku上應用程序的Deploy部分,向下滾動並點擊手動部署,您將看到一個顯示正在發生的事情的控制檯。你會看到什麼是錯誤的。 –

+0

好的,再次感謝所有的幫助!我正在翻閱日誌,希望我能弄清楚它的含義。 –

0

你應該這樣做:

web: ./bin/www npm start 

這是固定的,對我來說!