简体   繁体   English

Heroku打开时Heroku node.js应用程序崩溃

[英]Heroku node.js app crashing upon heroku open

I have followed the 'Getting started with node.js' tutorial on Heroku with no issues until I try 'heroku open'. 我一直遵循Heroku上的“ node.js入门”教程,在尝试“ heroku open”之前没有任何问题。 The heroku logs are as below: heroku的日志如下:

2015-09-06T01:40:57.721184+00:00 heroku[web.1]: State changed from crashed to starting
2015-09-06T01:41:03.369114+00:00 heroku[web.1]: Starting process with command `npm start`
2015-09-06T01:41:06.941642+00:00 app[web.1]: 
2015-09-06T01:41:06.941663+00:00 app[web.1]: > my-site@1.0.0 start /app
2015-09-06T01:41:06.941665+00:00 app[web.1]: > node server.js
2015-09-06T01:41:06.941666+00:00 app[web.1]: 
2015-09-06T01:41:12.745724+00:00 app[web.1]: events.js:85
2015-09-06T01:41:12.745730+00:00 app[web.1]:       throw er; // Unhandled 'error' event
2015-09-06T01:41:12.745731+00:00 app[web.1]:             ^
2015-09-06T01:41:12.745733+00:00 app[web.1]: Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
2015-09-06T01:41:12.745734+00:00 app[web.1]:     at RedisClient.on_error (/app/node_modules/redis/index.js:185:24)
2015-09-06T01:41:12.745735+00:00 app[web.1]:     at Socket.<anonymous> (/app/node_modules/redis/index.js:95:14)
2015-09-06T01:41:12.745736+00:00 app[web.1]:     at Socket.emit (events.js:107:17)
2015-09-06T01:41:12.745737+00:00 app[web.1]:     at net.js:459:14
2015-09-06T01:41:12.745739+00:00 app[web.1]:     at process._tickCallback (node.js:355:11)
2015-09-06T01:41:12.789099+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2015-09-06T01:41:12.782590+00:00 app[web.1]: 
2015-09-06T01:41:12.789353+00:00 app[web.1]: npm ERR! node v0.12.7
2015-09-06T01:41:12.790048+00:00 app[web.1]: npm ERR! npm  v2.11.3
2015-09-06T01:41:12.790211+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2015-09-06T01:41:12.790403+00:00 app[web.1]: npm ERR! my-site@1.0.0 start: `node server.js`
2015-09-06T01:41:12.790668+00:00 app[web.1]: npm ERR! 
2015-09-06T01:41:12.790523+00:00 app[web.1]: npm ERR! Exit status 1
2015-09-06T01:41:12.790800+00:00 app[web.1]: npm ERR! Failed at the my-site@1.0.0 start script 'node server.js'.
2015-09-06T01:41:12.791028+00:00 app[web.1]: npm ERR! This is most likely a problem with the my-site package,
2015-09-06T01:41:12.791621+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2015-09-06T01:41:12.791492+00:00 app[web.1]: npm ERR! not with npm itself.
2015-09-06T01:41:12.791865+00:00 app[web.1]: npm ERR! You can get their info via:
2015-09-06T01:41:12.791747+00:00 app[web.1]: npm ERR!     node server.js
2015-09-06T01:41:12.791990+00:00 app[web.1]: npm ERR!     npm owner ls my-site
2015-09-06T01:41:12.792118+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2015-09-06T01:41:12.739572+00:00 app[web.1]: Listening on localhost: 6596
2015-09-06T01:41:12.794869+00:00 app[web.1]: 
2015-09-06T01:41:12.788632+00:00 app[web.1]: npm ERR! Linux 3.13.0-61-generic
2015-09-06T01:41:12.795086+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2015-09-06T01:41:12.795203+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2015-09-06T01:41:14.558203+00:00 heroku[web.1]: State changed from starting to crashed
2015-09-06T01:41:14.544183+00:00 heroku[web.1]: Process exited with status 1
2015-09-06T01:41:39+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.065 sample#load-avg-5m=0.055 sample#load-avg-15m=0.045 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15405664kB sample#memory-free=14101096kB sample#memory-cached=514208kB sample#memory-redis=294000bytes
2015-09-06T01:42:20+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.085 sample#load-avg-5m=0.06 sample#load-avg-15m=0.05 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15405664kB sample#memory-free=14101344kB sample#memory-cached=514208kB sample#memory-redis=294000bytes
2015-09-06T01:43:43+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.05 sample#load-avg-5m=0.06 sample#load-avg-15m=0.045 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15405664kB sample#memory-free=14101108kB sample#memory-cached=514208kB sample#memory-redis=294000bytes
2015-09-06T01:44:27+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.02 sample#load-avg-5m=0.05 sample#load-avg-15m=0.045 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15405664kB sample#memory-free=14101176kB sample#memory-cached=514212kB sample#memory-redis=294000bytes
2015-09-06T01:45:46+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.005 sample#load-avg-5m=0.04 sample#load-avg-15m=0.04 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15405664kB sample#memory-free=14101240kB sample#memory-cached=514212kB sample#memory-redis=294000bytes
2015-09-06T01:46:24+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.035 sample#load-avg-5m=0.04 sample#load-avg-15m=0.04 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15405664kB sample#memory-free=14100784kB sample#memory-cached=514212kB sample#memory-redis=294000bytes

The issue is with Redis with which I have no experience. 问题是Redis,我没有经验。

Redis Heroku is installed as an addon and everything works fine when running npm start on my local machine. Redis Heroku作为插件安装,在本地计算机上运行npm start时一切正常。

Has anyone encountered this before or have any ideas? 有没有人遇到过这个或有任何想法?

You probably have a redis server running locally, but your Heroku instance isn't going to be able to connect to your local redis instance, and if you are using the same configs on the Heroku run, it will be looking for something on the same endpoint (I'm guessing 127.0.0.1 port 3000 or something). 您可能有一个本地运行的Redis服务器,但是您的Heroku实例将无法连接到本地Redis实例,并且如果您在Heroku运行中使用相同的配置,它将在相同的位置查找内容端点(我猜是127.0.0.1端口3000或类似的东西)。

https://devcenter.heroku.com/articles/heroku-redis https://devcenter.heroku.com/articles/heroku-redis

At Redis-to-Go you can get a free/nano plan you can test. 在Redis-to-Go中,您可以获得可以测试的免费/纳米计划。 http://redistogo.com/ and just connect remote. http://redistogo.com/并仅连接远程。 That's an alternative to provisioning through Heroku, I think I verified that approach works some months ago. 这是通过Heroku进行配置的一种替代方法,我认为我几个月前已验证了该方法的有效性。 It still should. 它仍然应该。

You can test Heroku apps locally under conditions closer to their deployed environment by using ~~ foreman start ~~ now heroku local https://devcenter.heroku.com/articles/heroku-local , and check out this on process https://devcenter.heroku.com/articles/procfile 您可以使用~~ foreman start ~~ now heroku local https://devcenter.heroku.com/articles/heroku-local在更接近其部署环境的条件下在本地测试Heroku应用,并在process https://上进行检查devcenter.heroku.com/articles/procfile

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM