Phy*_*ist 3 mongodb centos7 firewalld robo3t
我已经在CentOS 7.2 VPS 上安装了MongoDB,并尝试从客户端通过Robomongo访问数据库。但是,当我尝试从27017端口连接服务器时,出现“ 网络无法访问 ”错误。
我在服务器上启用了firewalld,并为27017端口添加了例外。
firewall-cmd --list-all
Run Code Online (Sandbox Code Playgroud)
结果:
在我永久添加了异常并通过--reload重新加载了firewalld之后,我得到了这个结果。
当我使用以下命令查询端口时:
firewall-cmd --query-port=27017/tcp
Run Code Online (Sandbox Code Playgroud)
我从系统中得到一个“ 是 ”。但是,当我尝试通过Robomongo连接或通过端口检查器服务(例如http://ping.eu/port-chk/)查询端口时,得到的结果是负面的。
您对我的案子有什么建议吗?
谢谢。
小智 7
我遇到了同样的问题,但是在Centos 7 Vm中运行mongod。
首先,我必须使用firewall-cmd打开mongodb端口:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
然后,我不得不在/etc/mongodb.conf中更改net配置条目。另请参见:https ://docs.mongodb.com/manual/reference/configuration-options/#net-options
我删除了bindIp:Entry并添加bindIpAll:true
net:
port: 27017
bindIpAll: true
Run Code Online (Sandbox Code Playgroud)
使用bindIp:根据需要输入的文档:
mongos和mongod应该在其上侦听客户端连接的IP地址和/或完整的Unix域套接字路径。您可以将mongos和mongod附加到任何接口。要绑定到多个地址,请输入一个用逗号分隔的值的列表
默认值为:
net:
port: 27017
bindIp: 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
这意味着mongodb仅侦听localhost
在 VPS 支持团队的帮助下,我通过执行以下步骤解决了该问题:
执行,
ss -plnt
Run Code Online (Sandbox Code Playgroud)
查看套接字统计信息。我的输出如下:
从结果可以看出mongod进程只监听127.0.0.1 上的27017端口。为了配置该绑定,请编辑/etc/目录中的mongod.conf并注释掉该行
bindIp: 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
重新启动 mongodb 服务,一切应该都会好起来。
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |