繁体   English   中英

nginx:[emerg] bind()到0.0.0.0:80失败(98:地址已在使用中),即使在使用端口80终止进程后也是如此

[英]nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) even after killing the process using port 80

我正在尝试如下启动nginx:

kurt@kurt-ThinkPad:~$ which nginx
/usr/sbin/nginx
kurt@kurt-ThinkPad:~$ sudo /usr/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

遵循此EasyEngine教程之后 ,我尝试使用带有融合 fuser -k端口80 终止进程:

kurt@kurt-ThinkPad:~$ sudo fuser -k 80/tcp
80/tcp:              31924 31925 31926

但是,在重新运行sudo /usr/sbin/nginx我得到了完全相同的错误消息。

我已经尝试过使用fuserlsof -inetstat 在这里描述的其他两个“诊断”:

kurt@kurt-ThinkPad:~$ fuser 80/tcp
kurt@kurt-ThinkPad:~$ lsof -i :80 | grep LISTEN
kurt@kurt-ThinkPad:~$ netstat -tulpn | grep --color :80
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      -      

只有netstat命令给出结果,但是我无法从中推断出进程ID。

关于如何使Nginx工作的任何想法?

你应该运行这个

user@user ~ $ sudo netstat -tulpn | grep --color :80

它将显示您的进程ID

tcp6       0      0 :::80                   :::*                    LISTEN      2063/apache2

2063 / apache2 – PID /进程名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM