问题描述
centos 部署mongodb 服务器。 启动命令
/usr/local/mongodb/bin/mongod --bind_ip 内网ip 或127.0.0.1 --port 27017 --maxConns 20000 --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/log/mongo.log --logappend &;;
可以启动成功。
/usr/local/mongodb/bin/mongod --bind_ip 外网ip --port 27017 --maxConns 20000 --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/log/mongo.log --logappend &;;
启动失败[ 防火墙已关闭,27017端口也开启]错误日志:[initandlisten] listen(): bind() failed errno:99 Cannot assign requested address for socket: 外网ip:27017[initandlisten] journal dir=/usr/local/mongodb/db/journalDurability thread stopped
问题解答
回答1:--bind_ip # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认所有IP都能访问。你想要让外网能访问你的数据库,不指定这个参数就可以了!
回答2:从错误消息来看,有几样东西需要检查:
有没有程序占用了外网IP的27017端口:sudo netstat -pln | grep 27017有没有搞错外网IP:ifconfig | grep inet回答3:你是应该将外网ip端口,映射到内网ip端口吧?
回答4:应该不是端口被占了,如果是的话,报错应该是Already in use。怀疑你的host上有多张网卡,而其中有张网卡的端口还是被防火墙限制了,希望验证一下。