NodeJS + Socket.io聊天服务器连接数达到1024后就连不上了

如果是亚马逊的Engine Yard服务器,解决办法为:

1、查看端口占用情况,找到nodejs进程号,例如我这里是8000端口

lsof -i:8000 找到pid 例如为 8213

2、设置nofile数

sudo prlimit --nofile=60000 --pid 8213

3、查看是否生效

sudo prlimit --nofile --pid 8213

如果是其他操作系统

1、查看

ulimit -n

2、设定

ulimit -n 10240

注意:

以上两种设定在重启服务器后会恢复到原来的值,需要再次设定。

如果想永久有效,需要修改对应的文件。