【发布时间】:2025-11-21 16:30:04
【问题描述】:
我的 socket.io 服务器在后台运行。但是,有几种情况它会死亡。我该怎么做才能让我的 socket.io 服务器在它死亡或终止时自动重启。
这就是我启动节点服务器的方式
> node server &
但是服务器抛出异常并死掉了。
events.js:141
throw er; // Unhandled 'error' event
^
Error: Redis connection to pub-redis-us-east1-garantiabata.com:12087 failed - connect ETIMEDOUT 54.179.28.165:12087
at RedisClient.on_error (/home/org-chatserver/node_modules/redis/index.js:185:24)
at Socket.<anonymous> (/home/org-chatserver/node_modules/redis/index.js:95:14)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1253:8)
at doNTCallback2 (node.js:450:9)
at process._tickCallback (node.js:364:17)
^C
这是我的环境
Linux version 2.6.32-042stab090.5 (root@kbuild-rh6-x64) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Sat Jun 21 00:15:09 MSK 2014
我相信我的团队正在使用这个:
https://github.com/jbavari/ionic-socket.io-redis-chat
【问题讨论】:
-
你使用的是哪个节点和socket.io版本?
-
基本上我把这个github.com/jbavari/ionic-socket.io-redis-chat/blob/master/…分叉出来了。 node -v 表示它的 v5.0.0
-
我尝试在github.com/NodeRedis/node_redis#usage 的基础上执行此操作gist.github.com/survivaltravel/f29c38e055d0785c56ff,我不知道我今天运行了一整天它仍然死机,不知道什么时候。必须找到一种方法来保存日志记录而不是在控制台中
-
您可以永远使用:*.com/questions/16369018/…,您是否检查过 redis 连接:错误:与 pub-redis-us-east1-garantiabata.com:12087 的 Redis 连接失败 - 连接 ETIMEDOUT 54.179.28.165:12087
标签: linux node.js socket.io restart