我是管理方面的新手,之前使用 VPS 时从未遇到过问题。但在遇到 upstart-bug 问题(虽然我能够解决)后,我不得不重启系统,从那时起,我就无法再打开任何大于 1000 的端口,即使使用 root 也无法打开。
我只需要 redis 和 mongodb 的那些,这样我的服务器就可以在本地与它们通信(没有外部监听)。例如,我收到 mongodb 的这个错误:
ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: 127.0.0.1:27017
我根本没有更改任何配置,只是安装了 upstart 补丁。我甚至不知道如何找到实际问题。
有人能帮助我吗?如果有人告诉我需要什么,我会提供额外的日志或其他信息。
答案1
请尝试以下操作:
- netstat -ap 查看是否有东西正在监听该端口(27017)
- 如果应用程序已经打开,您可以使用“ps aux | grep mongodb”。
如果上述方法不起作用,请告诉我主机在哪个操作系统上,以便我可以更好地排除故障(即使用特定的操作系统命令)。
问候,Alex H
答案2
这可能是一种同情。尝试将其置于抱怨模式
sudo aa-complain /usr/sbin/mongod
然后重新加载appamour
sudo invoke-rc.d apparmor reload
然后尝试启动 mongo
答案3
您应该尝试通过以下方式找出哪个端口是开放的并且正在监听:
netstat -ltn
这将显示所有打开的用于监听的端口(仅限 TCP 端口)。如果您想要关闭某个端口以便自行打开它,则应输入此命令(以超级用户身份):
fuser -k <port>/tcp
替换为您想要关闭的号码。尝试一下并告诉我们效果如何。
希望这有帮助。