今天研究了下mongodb,在公网服务器上,当我按照文档配置好之后,我想通过我本地MongoHub链接mongodb,发现不可以。
原配置文件如下:
dbpath=/home/user/mongodb/data
logpath=/home/user/mongodb/logs/mongo.log
logappend=true
journal=true
quiet=true
port=27017
我在服务器上执行查找端口占用情况:
$ netstat -tunlp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 10046/./mongod
看到127.0.0.1:27017,我猜想可能是mongodb的服务目前只能在本地访问,端口27017尚未映射到外网,然后通过查找官方文档,得知有一个bind_ip属性还可以设置,随后我添加了bind_ip=0.0.0.0
到配置文件里,其中0.0.0.0表示所有地址均可。
最终得到
dbpath=/home/user/mongodb/data
logpath=/home/user/mongodb/logs/mongo.log
logappend=true
journal=true
quiet=true
port=27017
bind_ip=0.0.0.0
最后,我用MongoHub可以链接上我服务器上的mongodb了。
mongo --host IP:27017
欢迎语句:
MongoDB shell version v3.4.4
connecting to: mongodb://IP:27017/
MongoDB server version: 3.6.3
WARNING: shell and server versions do not match
Welcome to the MongoDB shell.
当然这样设置所以均能访问应该不安全,但先这样啦。