我正在尝试使用 sudo apt-get install nginx 更新 nginx ,但它给了我一条与端口 80 被占用相关的错误消息。当我跑

sudo netstat -tlnp | grep 80

我得到
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6845/nginx
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1919/config.ru
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      6845/nginx

虽然我无法从 --help 函数中轻松理解每一列的含义,但我认为在这个例子中 6845nginx 的进程 ID。如果我尝试使用杀死它
sudo kill 6845

并再次运行 sudo netstat -tlnp | grep 80,我明白了
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      10130/nginx
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1919/config.ru
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      10130/nginx

换句话说,nginx 似乎立即开始在不同的进程 ID 下再次监听端口 80。如何阻止 nginx 运行? (我也试过 sudo systemctl stop nginx 但无济于事)。

最佳答案

您需要 明确 listen 中的每个 server 块定义 /etc/nginx/nginx.conf 参数而不是 80,否则 nginx 将 默认使用端口 80。

另外,调整 /etc/nginx/conf.d/default.conf 中的配置。

10-05 20:23
查看更多