使用 Ubuntu 服务器,端口被占用问题

背景

最近在服务器上学习使用 Apache APISIX,通过源码构建成功后,打算再用 docker 构建一下,然后就遇到了一个端口被占用的问题,找了一圈找到了一个查找被占用端口,并且 kill 掉端口的命令,今天记录一下,防止丢失。

解决 Ubuntu 端口被占用

当遇到端口被占用的错误时,大家一定清楚是哪个端口被占用了,一般在错误信息都会有提示:

1.jepg

遇到权限问题时,在命令前加上 su 以根用户的身份运行命令。

  1. 查找被占用的端口使用情况
1
2
3
netstat -tln #查看所有端口的使用情况

netstat -tln | grep 9443 #只查看80端口的使用情况
  1. 查看该端口被哪个应用占用
1
lsof -i :9443 #可获得占用的进程的应用名称,PID 等信息

2.jepg

  1. 根据进程号(PID)输入以下命令杀掉占用端口的进程来释放即可
1
kill -9 107748 #107748 为上一步查到的 PID 号

重复 1 - 3 步骤将被占用的端口都清除掉,重新运行 docker,就可以正常启动起来了。