dbc*_*per 69 linux firewall iptables mongodb
我有一个Linode服务器运行Ubuntu 12.04 LTS和MongoDB实例(服务正在运行并且CAN本地连接),我无法从外部源连接.
我已将这两个规则添加到我的IP表中,其中<ip address>是我想要连接FROM的服务器(如本MongoDB参考中所述):
iptables -A INPUT -s < ip-address > -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d < ip-address > -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT
我看到我的IP表中的规则允许27017与<ip address>之间的连接,但是当我尝试使用如下命令从<ip address>连接到我的mongo数据库时:
mongo databasedomain/databasename -u username -p password
我收到此错误:
2014-07-22T23:54:03.093+0000 warning: Failed to connect to databaseserverip:27017, reason: errno:111 Connection refused
2014-07-22T23:54:03.094+0000 Error: couldn't connect to server < ip address >:27017 (databaseserverip), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed
任何帮助都非常赞赏!!!! 谢谢!!!
dbc*_*per 112
感谢大家的帮助!
原来这是一场iptable冲突.列出端口打开的两条规则(导致关闭端口).
然而,manu2013的aka和另一个评论之一是我遇到的问题,如果不是冲突的话.
所以!始终记得编辑/etc/mongod.conf文件并设置您的bind_ip = 0.0.0.0外部连接.
另外,请确保您的iptable中没有针对mongo所需端口的冲突规则(请参阅mongodb网站上的链接以正确设置您的iptables).
man*_*013 43
请尝试以下方法:
sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart
Run Code Online (Sandbox Code Playgroud)
sk1*_*o99 40
这些命令为我解决了这个问题,
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair
sudo service mongod start
sudo service mongod status
Run Code Online (Sandbox Code Playgroud)
如果您落后于代理,请使用: -
export http_proxy ="http:// username:password@company.com:port /"
export https_proxy ="http:// username:password@company.com:port /"
参考:https://stackoverflow.com/a/24410282/4359237
小智 16
对于Ubuntu Server 15.04和16.04,您只需要执行此命令
sudo apt-get install --reinstall mongodb
Run Code Online (Sandbox Code Playgroud)
小智 6
对我来说,将 /var/lib/mongodb 和 /tmp/mongodb-27017.sock 的所有权更改为 mongodb 是要走的路。
做就是了:
sudo chown -R mongodb:mongodb /var/lib/mongodb
Run Code Online (Sandbox Code Playgroud)
进而:
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
Run Code Online (Sandbox Code Playgroud)
然后启动或重启 mongodb 服务器:
sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)
或者
sudo systemctl restart mongod
Run Code Online (Sandbox Code Playgroud)
并检查状态
sudo systemctl status mongod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181354 次 |
| 最近记录: |