2015-02-10 34 views
0

我的sails.js應用程序在localhost上正常工作,但在heroku上失敗。Sails.js應用程序未能在heroku上部署

我有以下設置在我production.js

port: process.env.PORT || 1337, 
    environment: process.env.NODE_ENV || 'development', 

仍然得到下面的消息,並部署失敗;

2015-02-10T03:54:55.089482+00:00 app[web.1]: Tue, 10 Feb 2015 03:54:55 GMT i18n:debug read /app/config/locales/de.json for locale: de 
2015-02-10T03:54:55.089220+00:00 app[web.1]: Tue, 10 Feb 2015 03:54:55 GMT i18n:debug will write to /app/config/locales/fr.json 
2015-02-10T03:54:55.089261+00:00 app[web.1]: Tue, 10 Feb 2015 03:54:55 GMT i18n:debug read /app/config/locales/fr.json for locale: fr 
2015-02-10T03:54:55.089453+00:00 app[web.1]: Tue, 10 Feb 2015 03:54:55 GMT i18n:debug will write to /app/config/locales/de.json 
2015-02-10T03:54:55.138917+00:00 app[web.1]: designed for a production environment, as it will leak 
2015-02-10T03:54:55.138919+00:00 app[web.1]: memory, and will not scale past a single process. 
2015-02-10T03:54:55.393772+00:00 app[web.1]: http hook loaded successfully. 
2015-02-10T03:54:55.396900+00:00 app[web.1]: sockets hook loaded successfully. 
2015-02-10T03:54:55.397665+00:00 app[web.1]: Located 0 user hook(s)... 
2015-02-10T03:54:55.413955+00:00 app[web.1]: Setting default Express view engine to jade... 
2015-02-10T03:54:55.415525+00:00 app[web.1]: Loading adapter (sails-mongo) for user from `node_modules` directory... 
2015-02-10T03:54:55.394180+00:00 app[web.1]: Configuring socket (ws://) server... 
2015-02-10T03:54:55.397318+00:00 app[web.1]: Loading user hooks... 
2015-02-10T03:54:55.397942+00:00 app[web.1]: views hook loaded successfully. 
2015-02-10T03:54:55.414283+00:00 app[web.1]: Initialized 0 user hook(s)... 
2015-02-10T03:54:55.414314+00:00 app[web.1]: userhooks hook loaded successfully. 
2015-02-10T03:54:55.415058+00:00 app[web.1]: Forcing Waterline to use `migrate: "safe" strategy (since this is production) 
2015-02-10T03:54:55.606849+00:00 app[web.1]: Starting ORM... 
2015-02-10T03:54:55.771204+00:00 app[web.1]: pubsub hook loaded successfully. 
2015-02-10T03:54:55.931003+00:00 app[web.1]: Grunt :: >> Local Npm module "grunt-simple-mocha" not found. Is it installed? 
2015-02-10T03:54:55.769438+00:00 app[web.1]: orm hook loaded successfully. 
2015-02-10T03:54:56.159039+00:00 app[web.1]: Grunt :: Running "clean:dev" (clean) task 
2015-02-10T03:54:56.180324+00:00 app[web.1]: Grunt :: >> Destination not written because compiled files were empty. 
2015-02-10T03:54:56.184386+00:00 app[web.1]: Grunt :: Running "copy:dev" (copy) task 
2015-02-10T03:54:56.180479+00:00 app[web.1]: Grunt :: Running "less:dev" (less) task 
2015-02-10T03:54:56.162834+00:00 app[web.1]: Grunt :: Running "jst:dev" (jst) task 
2015-02-10T03:54:56.729594+00:00 app[web.1]: Grunt :: , copied 542 files 
2015-02-10T03:54:56.729493+00:00 app[web.1]: Grunt :: Created 4 directories 
2015-02-10T03:54:56.730009+00:00 app[web.1]: Grunt :: Running "coffee:dev" (coffee) task 
2015-02-10T03:54:56.856265+00:00 app[web.1]: Grunt :: Running "concat:js" (concat) task 
2015-02-10T03:54:57.062061+00:00 app[web.1]: Grunt :: File ".tmp/public/concat/production.js" created. 
2015-02-10T03:54:57.063749+00:00 app[web.1]: Grunt :: File ".tmp/public/concat/production.css" created. 
2015-02-10T03:54:57.064113+00:00 app[web.1]: Grunt :: Running "uglify:dist" (uglify) task 
2015-02-10T03:54:57.062590+00:00 app[web.1]: Grunt :: Running "concat:css" (concat) task 
2015-02-10T03:55:53.360980+00:00 heroku[web.1]: Stopping process with SIGKILL 
2015-02-10T03:55:53.360980+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 
2015-02-10T03:55:54.179225+00:00 heroku[web.1]: Process exited with status 137 
2015-02-10T03:55:54.193814+00:00 heroku[web.1]: State changed from starting to crashed 

請指教,謝謝。

+0

你使用的是什麼端口,該端口是否已經在Web服務器上使用? – arkoak 2015-02-10 06:26:51

+0

端口從environment =>「port:process.env.PORT || 1337」設置,端口在本地運行時爲1337。 – aug70co 2015-02-10 12:18:40

+0

你是否在使用同一個$ PORT env變量的相同服務器上運行另一個應用程序?您始終可以嘗試在生產中明確設置一個端口。 當提升帆時,通過使用--verbose標誌來檢查詳細日誌也是一個不錯的主意 – arkoak 2015-02-10 12:52:58

回答

3

您的應用程序正在生產模式下運行。我可以告訴這是因爲Forcing Waterline to use `migrate: "safe" strategy (since this is production)和concat/uglify任務正在運行。

此過程(concat/uglify)可能會破壞分配的內存。我在部署具有大量js/css的小型heroku實例時處理過這個問題。您可能想要嘗試https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt,以便在部署上運行grunt而不是啓動。

請參閱http://blog.mdarveau.com/2014/10/20/deploying-to-heroku,這是我將sails應用程序部署到heroku的經驗。

以下部分從日誌是怪異,但:

2015-02-10T03:54:55.138917+00:00 app[web.1]: designed for a production environment, as it will leak 
2015-02-10T03:54:55.138919+00:00 app[web.1]: memory, and will not scale past a single process. 
+1

安裝該buildpack解決了這個問題。我的配置是正確的,除了Grunt任務外,我不需要改變任何東西。我知道他們有什麼問題。我將sails默認prod任務重命名爲heroku,並添加了一個空prod任務。應用程序現在就開始了謝謝! – aug70co 2015-02-12 18:53:26

0

設置遷移: 'ALTER' 在配置/ models.js

0

快速(臨時)解決方案,只是除去生產標誌

delete process.env.NODE_ENV; 
相關問題