我有点沮丧。我想要 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。