簡體   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