我目前正在尝试使用一些“[电子邮件保护]“我的专用服务器(Centos5)上的地址。
为此,我尝试使用 启动 dovecot /etc/init.d/dovecot start
,但收到以下错误消息:
Starting Dovecot Imap: Error: service(pop3-login): listen(*, 110) failed:
Address already in use
Error: service(pop3-login): listen(*, 995) failed: Address already in use
Error: service(imap-login): listen(*, 143) failed: Address already in use
Error: service(imap-login): listen(*, 993) failed: Address already in use
Fatal: Failed to start listeners
[FAILED]
某些程序已经在监听这些端口,但我不知道是什么。我的服务器上之前安装了 Qmail,所以我删除了它,但这并没有解决问题。
你知道如何解决这个问题吗?
答案1
此命令将显示正在监听的内容:
$ sudo netstat -lnp | grep 993
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4470/imap-login
最后一列给出了绑定到该特定端口的进程的 PID 和名称。
答案2
刚刚对 AWS Linux 实例进行了升级,dovecot 无法启动,并出现“地址已在使用中”错误(与原始海报相同)。
netstat 和 lsof 没有显示连接到这些 TCP 端口的任何进程。
最后我发现,作为升级的一部分,portreserve 软件包已安装。它有一个配置文件 /etc/portreserve/dovecot,其中列出了有问题的端口。我将该文件重命名为 /etc/portreserve/dovecot~,现在一切正常。
根据https://bugzilla.redhat.com/show_bug.cgi?id=1570282因为 portreserve 只对端口执行 bind(),而不执行 listen(),所以它不会显示在 lsof 或 netstat 中。这使得故障排除变得非常棘手。
答案3
编辑 dovecot conf 并替换:
protocols = imap pop3 imaps pop3s
和
protocols = imap pop3
您可能缺少 SSL 端口的证书。
答案4
我刚刚遇到了这种情况。禁用 imaps 协议,由于某种原因不起作用,dovecot 仍然尝试打开端口 993,可能与 startTLS 有关。无论如何,netstat 没有显示任何活动监听端口:
samuel@extern:/etc/dovecot$ sudo netstat -tulpn | grep 993
samuel@extern:/etc/dovecot$
我确实有一个已建立的端口:
samuel@extern:/etc/dovecot$ sudo netstat -tulpan | grep 993
tcp 0 0 192.168.1.132:993 192.168.1.129:2049 ESTABLISHED -
samuel@extern:/etc/dovecot$
当我重新启动虚拟机时,Dovecot 又开始工作了。进一步的研究表明 NFS 正在干扰。问题在重新启动后立即出现:
dovecot: master: Error: service(imap-login): listen(*, 993) failed: Address already in use
由于某些原因,NFS 使用特权端口来挂载远程文件系统。请参阅:https://unix.stackexchange.com/questions/398152/why-is-nfs-client-using-low-numbered-ports