我需要一个 dovecot.socket 吗?

我需要一个 dovecot.socket 吗?

我的电子邮件服务器使用 dovecot 运行正常。我关闭了 IPv6,并在系统日志中遇到以下错误:

systemd[1]: [/lib/systemd/system/dovecot.socket:8] \
    Failed to parse address value, ignoring: [::]:143

我注释掉了 out 中的所有 IPv6 设置dovecot.service,执行了 a systemctl daemon-reload,现在文件如下所示:

[Unit]
Description=Dovecot IMAP/POP3 email server activation socket

[Socket]
#dovecot expects separate IPv4 and IPv6 sockets
#BindIPv6Only=ipv6-only
ListenStream=0.0.0.0:143
#ListenStream=[::]:143
ListenStream=0.0.0.0:993
#ListenStream=[::]:993
KeepAlive=true

[Install]
WantedBy=sockets.target

目前的状态dovecot.serviceActive: inactive (dead)

● dovecot.socket - Dovecot IMAP/POP3 email server activation socket
   Loaded: loaded (/lib/systemd/system/dovecot.socket; enabled)
   Active: inactive (dead) since Sun 2018-08-12 14:39:42 CEST; 14min ago
   Listen: 0.0.0.0:143 (Stream)
           0.0.0.0:993 (Stream)

但是,当我尝试启动该服务时,收到以下错误消息:

systemd[1]: Starting Dovecot IMAP/POP3 email server activation socket.
systemd[1]: Socket service dovecot.service already active, refusing.
systemd[1]: Failed to listen on Dovecot IMAP/POP3 email server activation socket.

一切正常,dovecot 监听所有需要的端口。有人能给我解释一下吗:

  • 为何我无法启动dovecot.socket
  • dovecot.socket到底需不需要这个?

答案1

Dovecot 可能已在套接字中监听,这是 dovecot 的常见配置。尝试此命令进行验证。

ss -ntpl | grep -e :143 -e :993

如果 dovecot 已监听这些端口,则 systemd 无法监听这些端口。如果 dovecot 已监听,则无需dovecot.socket

相关内容