Nginx 端口 443 已被自身使用吗?

Nginx 端口 443 已被自身使用吗?

我对 Nginx 完全陌生,只是在玩弄我的域名,我闲置了它但从未使用过。我想我可以好好利用它并在其上托管 API。但我想先学习一些 Nginx。

当我检查错误日志时,出现以下错误:

2020/09/07 10:49:54 [emerg] 32432#32432: bind() to 0.0.0.0:443 failed (98: Address already in use)

当我检查“sudo netstat -tulpn”时:

tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      32455/nginx: master
tcp6       0      0 :::443                  :::*                    LISTEN      32455/nginx: master

是 nginx 本身使用了 443 端口吗?

我的配置只是覆盖 sites-availble 中名为“default”的默认 nginx 配置,如下所示:

server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;

ssl on;
ssl_certificate /home/ubuntu/dotnetdeploy/www_topswagcode_dev.pem;
ssl_certificate_key /home/ubuntu/dotnetdeploy/www_topswagcode_dev.key;

root /var/www/html;

index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
    try_files $uri $uri/ =404;
}
}

更改配置后,我运行了:

sudo service nginx restart 

当我输入:

nginx -T

开始

然后有很多类型例如:

types { ....  }

结尾

有人知道这里发生了什么事吗?

答案1

systemctl您已在运行另一个 nginx 副本。您应该在尝试使用(停止使用service,因为此功能已弃用,最终将被删除)重新启动 nginx 之前手动将其终止。

答案2

您需要做的就是运行“sudo systemctl disable nginx”,这样每次重新启动硬件时 nginx 就不会启动,在我的情况下是 Raspberry PI。

我遇到了同样的问题,这个解决了它。我有两个实例试图同时使用同一个 433 端口运行,一个来自 Raspberry PI 启动时,另一个来自我的 Docker 容器试图启动映像 nginx_app_1 (jc21/nginx-proxy-manager)。

相关内容