MAMP Pro nginx 无法启动

MAMP Pro nginx won't start

上周我能够在 MacOS Big Sur 11.6 (Mackbook Pro M1) 上使用 MAMP Pro 运行 多个虚拟主机的 nginx 网络服务器。今天在本地使用certbot更新我本地支持本地dev https开发的LetsEncrypt SSL证书后,我无法在任何虚拟主机上启动nginx。

我在 MAMP Pro 中收到一条警告,内容为“您将 nginx 配置为使用端口 80 和 443,但至少其中一个似乎正在使用中。”因此,我检查了 MAMP 是否仍配置为将端口 80 用于 nginx。然后我使用 Activity Monitor 试图杀死所有使用端口 80 的 httpd 进程。其中两个由 root 和 _www 拥有的进程拒绝死亡。所以我将 kill -9 与它们各自的 PID 一起使用。那一刻杀死了他们,但他们回来了。之后,我尝试在端口 80 上再次重新启动 nginx。它无法启动,并显示消息“Nginx 无法启动。请检查日志文件以获取更多信息。”

显示的日志文件

2021/12/28 16:04:22 [emerg] 93920#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
2021/12/28 16:04:22 [emerg] 93920#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
2021/12/28 16:04:22 [emerg] 93920#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
2021/12/28 16:04:22 [emerg] 93920#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
2021/12/28 16:04:22 [emerg] 93920#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
2021/12/28 16:04:22 [emerg] 93920#0: still could not bind()

如何完全杀死 root 和 _www 用户进程?更重要的是,为什么会这样?是否与更新的 LetsEncrypt SSL 有关?

支持人员告诉我,这是 MacOS 上的 MAMP Pro 5 的问题,不再支持 MAMP Pro 5。升级到 MAMP 6+ 解决问题。