解决Linux MongoDB连接超时问题可从以下方面入手:
检查基础服务与网络
sudo systemctl status mongod
,未启动则运行sudo systemctl start mongod
。netstat -an | grep 27017
,确认默认端口(27017)在监听。ping
服务器IP,确保网络无阻塞;检查防火墙是否放行MongoDB端口(默认27017)。调整配置文件参数
/etc/mongod.conf
,添加或修改超时设置:net:
bindIp: 0.0.0.0 # 允许远程连接(根据需求设置)
port: 27017
# 以下为驱动相关参数(需客户端配合)
# connectTimeoutMS: 10000 # 连接超时(毫秒,默认10秒)
# socketTimeoutMS: 30000 # 套接字超时(毫秒,默认30秒)
重启服务生效:sudo systemctl restart mongod
。优化客户端连接配置
mongodb://username:password@host:27017/db?connectTimeoutMS=5000&socketTimeoutMS=10000
。maxPoolSize
、waitQueueTimeoutMS
),避免因连接数不足导致超时。排查服务器负载与资源
top
或htop
查看服务器CPU、内存使用情况,若负载过高需优化服务或升级硬件。iostat
命令查看)。查看日志定位问题
/var/log/mongodb/mongod.log
,查找连接超时的具体原因(如网络错误、认证失败等)。参考来源: