我是设置服务器环境和mongoDB的新手.这可能听起来很简单,但是,我真的需要你的帮助.
我正在尝试连接到我的虚拟机,该虚拟机从本地机器运行mongodb实例,我相信当我在一个单独的远程服务器上运行时,它应该类似于生产环境.
环境如下:
虚拟机的专用IP:192.168.184.155
本地计算机和虚拟机的公共IP:96.88.169.145
我改变了bind_ip在/etc/mongod.conf文件从
bind_ip = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
至
bind_ip = 127.0.0.1,192.168.184.155,96.88.169.145
Run Code Online (Sandbox Code Playgroud)
重新启动mongod服务后,虚拟机和本地计算机都无法通过mongodb命令访问mongodb并给我以下错误.
MongoDB shell version: 3.0.1
connecting to: test
2015-03-17T16:02:22.705-0400 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2015-03-17T16:02:22.707-0400 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
at connect (src/mongo/shell/mongo.js:179:14)
at (connect):1:6 at src/mongo/shell/mongo.js:179
exception: connect failed
Run Code Online (Sandbox Code Playgroud)
但是,如果我改变了
bind_ip = 192.168.184.155
Run Code Online (Sandbox Code Playgroud)
并重新启动服务,它工作,我可以使用本地计算机上的mongo访问.它似乎不适用于多个IP地址.我试着在mongodb文档中查找,但是,他们确实提到bind_ip采用逗号分隔的列表,这让我很困惑.
感谢您的帮助.
我已经安装了mongodb,然后我创建了一个mongo服务:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
但是当我启动服务然后检查状态时,我总是得到这个错误:
? mongodb.service - High-performance, schema-free document-oriented database
Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2017-04-24 13:08:55 UTC; 6min ago
Process: 1094 ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf (code=exited, status=48)
Main PID: 1094 (code=exited, status=48)
Apr 24 13:08:54 ip-172-31-37-163 systemd[1]: Started High-performance, schema-free document-oriented database.
Apr 24 13:08:55 ip-172-31-37-163 systemd[1]: mongodb.service: Main process exited, code=exited, status=48/n/a
Apr 24 13:08:55 ip-172-31-37-163 systemd[1]: …
Run Code Online (Sandbox Code Playgroud)