Nginx 窃取 80 端口!

Nginx 窃取 80 端口!

我有点沮丧。我想要 apache2 的 80 端口,但 nginx 显然已经窃取了该端口。

我找不到在哪里删除它,nginx 的配置说它正在监听端口 8000 和 8001

我发现 PID/程序名称“6021/nginx -g daemo”将其用作本地地址 127.0.0.1:80。

当我systemctl status nginx这样做时,我得到以下信息

    ● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-05-05 01:33:40 CEST; 5s ago
  Process: 6110 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 6118 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6113 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6120 (nginx)
    Tasks: 17
   Memory: 8.9M
      CPU: 46ms
   CGroup: /system.slice/nginx.service
           ├─6120 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           ├─6121 nginx: worker process
           ├─6122 nginx: worker process
           ├─6123 nginx: worker process
           ├─6124 nginx: worker process
           ├─6125 nginx: worker process
           ├─6126 nginx: worker process
           ├─6127 nginx: worker process
           ├─6128 nginx: worker process
           ├─6129 nginx: worker process
           ├─6130 nginx: worker process
           ├─6131 nginx: worker process
           ├─6132 nginx: worker process
           ├─6133 nginx: worker process
           ├─6134 nginx: worker process
           ├─6135 nginx: worker process
           └─6136 nginx: worker process

May 05 01:33:40 Headsrv systemd[1]: Starting A high performance web server and a reverse proxy server...
May 05 01:33:40 Headsrv systemd[1]: Started A high performance web server and a reverse proxy server.

我尝试运行该命令grep -r "127.0.0.1:80" /*grep -r "nginx -g daemo" /*但没有结果,nginx 到底获取了此端口配置吗?!任何故障排除技巧对我来说都是宝贵的,因为我现在已经遇到了麻烦。

在有人询问之前,我已经编辑了 /etc/nginx/conf.d/wok.conf 和 /etc/nginx/sites-available/default 以不使用端口 80

答案1

我在运行 openmediavault (OMV) 的 Debian 10 中遇到了这个问题。重启后(系统已经运行了几个月),在端口 88 上为 OMV Web 界面提供服务的 nginx 实例突然也在端口 80 上提供了一个 nginx 欢迎页面(来自/usr/share/nginx/html/index.html)。这很烦人,因为我有一个应该在该端口上可用的 Nextcloud 实例。

http原因是在某些升级过程中,在配置末尾添加了以下几行/etc/nginx/nginx.conf

...
http {
    ...

    client_max_body_size 0;

    server {
        client_max_body_size 0;
    }
}
...

由于该server部分没有指定listen指令,因此默认为端口 80. 因为没有root指令被指定,它默认值/usr/share/nginx/html我的特定系统上。

编辑事实证明,我实际上自己做了改变,本指南设置我的系统。

答案2

那在 中呢/etc/nginx/nginx.conf?请确保从默认文件中注释掉正在监听的端口nginx.conf。您只在部分中列出了位置conf.d...

其中可能有类似这样的内容:

server {
  listen       80 default_server;
  listen       [::]:80 default_server;
  server_name  _;
    root         /usr/share/nginx/html;

抱歉,本来想评论一下,但在 askubunut.com 上还没有足够的声誉

答案3

尝试删除整个部分:

http {
    ....
    ....
}

然后,重新启动 nginx。

相关内容