将我的 Ubuntu 服务器从 18.04 升级到 20.04 后,nginx 开始出现奇怪的行为。它死随机的systemctl reload nginx
,并抱怨说,已经有上给出的港口处理的聆听。在我能够运行 portmap 或类似的东西之前,我已经能够systemctl start nginx
毫无问题地启动 nginx ,所以我认为问题是 nginx 试图绑定到已经被重新加载的旧 nginx 占用的端口。
我没有尝试太多,因为我迷路了。我已经检查过/run/nginx.pid
包含正确的pid。我的服务器上有 docker,所以我想也许某个容器开始尝试绑定 80 或 443,但没有。docker 的唯一映射端口是 8090。
版本:
nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
cat /etc/os-release
VERSION="20.04.1 LTS (Focal Fossa)"
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
...
Run Code Online (Sandbox Code Playgroud)
配置文件有效:
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Run Code Online (Sandbox Code Playgroud)
nginx 绑定到的所有端口都与它在日志日志中抱怨的端口相同:
cat /etc/nginx/sites-enabled/* | grep listen | uniq …
Run Code Online (Sandbox Code Playgroud) nginx ×1