在Linux中异常时自动重启或正确处理socket.io服务器

我的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

最佳答案 您可以使用
pm2来监控日志,自动重启…等.例如:

sudo npm install -g pm2
pm2 start app.js --watch

更多关于watch & restart.

点赞