突然无法打开任何大于 1000 的端口

突然无法打开任何大于 1000 的端口

我是管理方面的新手,之前使用 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

替换为您想要关闭的号码。尝试一下并告诉我们效果如何。

希望这有帮助。

相关内容