Linux

為 Caddy 提供免費埠 80

  • March 19, 2017

我正在嘗試在 caddy 上使用埠 80,但我收到一條錯誤消息,指出該埠已在使用中。listen tcp :80: bind: address already in use.當我檢查以查看正在使用它的內容時,這就是我得到的。

sonar@SonarQube:~$ netstat -an | grep ":80"
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 10.1.1.5:42214          168.63.129.16:80        TIME_WAIT  
tcp        0      0 10.1.1.5:42222          168.63.129.16:80        TIME_WAIT  
tcp6       0      0 :::80                   :::*                    LISTEN     

我怎樣才能殺死在 80 上執行的任何東西?可以執行sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy cause it?如果可以,我該如何撤消它?

更新(添加 -p 後)

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -               
tcp        0      0 10.1.1.5:42768          168.63.129.16:80        TIME_WAIT   -               
tcp        0      0 10.1.1.5:42760          168.63.129.16:80        TIME_WAIT   -               
tcp6       0      0 :::80                   :::*                    LISTEN      -   

更新 2

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1316/nginx -g daemo
tcp        0      0 10.1.1.5:39152          91.189.95.83:80         TIME_WAIT   -               
tcp        0      0 10.1.1.5:49340          168.63.129.16:80        TIME_WAIT   -               
tcp        0      0 10.1.1.5:46654          91.189.88.161:80        TIME_WAIT   -               
tcp        0      0 10.1.1.5:48740          91.189.88.162:80        TIME_WAIT   -               
tcp        0      0 10.1.1.5:49314          52.176.58.79:80         TIME_WAIT   -               
tcp        0      0 10.1.1.5:49284          168.63.129.16:80        TIME_WAIT   -               
tcp6       0      0 :::80                   :::*                    LISTEN      1316/nginx -g daemo

您需要將-p開關添加到 netstat 以便您也獲得相同的程序。您還需要以 root/sudo 身份執行它。

-p,–程序

顯示每個socket所屬程序的PID和名稱。

您在伺服器上執行了 nginx Web 伺服器。停止它,service nginx stop您可以啟動其他程序。

引用自:https://serverfault.com/questions/839206