如何阻止 nginx 使用端口 80

Kur*_*eek 8 linux nginx

我试图更新nginx的使用sudo apt-get install nginx,但它给我相关的端口80上的错误信息被占用。当我跑

sudo netstat -tlnp | grep 80
Run Code Online (Sandbox Code Playgroud)

我得到

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
Run Code Online (Sandbox Code Playgroud)

尽管我无法轻松理解--help函数中每一列的含义,但我认为在此示例中6845nginx. 如果我尝试使用杀死它

sudo kill 6845
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

换句话说,它似乎nginx立即开始在不同的进程 ID 下再次侦听端口 80。我怎样才能停止nginx跑步?(我也试过,sudo systemctl stop nginx但无济于事)。

Luc*_*oli 7

您需要为 中的每个块显式定义listen80 以外的参数,否则 nginx默认会静默使用端口 80。server/etc/nginx/nginx.conf

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


Ton*_*Nam 5

打开 /etc/nginx/sites-available/default

nano /etc/nginx/sites-available/default
Run Code Online (Sandbox Code Playgroud)

将那里的端口 80 更改为其他内容并保存更改


Kur*_*eek 1

我设法通过127.0.0.1:80浏览器解决了这个问题,这将我带到了GitLab登录页面。我忘记了我曾经安装过 GitLab 但没有使用它。卸载GitLab后,80端口不再被占用。