百度的网站关键词被篡改,大型购物网站排名,广告优化师发展前景,深圳华强北电子城目录 前言1. 查询端口占用情况2. 释放占用的端口3. 修改应用程序的端口 前言
Window的端口被占用#xff0c;类似的知识点#xff1a;重装mysql时3306端口被占用解决方法
事情起因是宝塔的CPU负载过大#xff0c;重启服务进程之后还是爆#xff0c;后续发现是端口被占用类似的知识点重装mysql时3306端口被占用解决方法
事情起因是宝塔的CPU负载过大重启服务进程之后还是爆后续发现是端口被占用导致服务重启不起来
对应需要kill相关进程的端口即可对此补充相关知识
1. 查询端口占用情况
使用 lsof 命令查询端口占用
lsoflist open files是一个强大的工具用来列出系统中打开的文件包括网络连接、端口等
查询特定端口例如 48080被哪个进程占用sudo lsof -i :48080 参数描述COMMAND进程名例如 nginx、javaPID进程的ID进程标识符USER进程的拥有者FD文件描述符表示文件类型和打开模式TYPE连接类型IPv4、IPv6DEVICE、SIZE/OFF、NODE网络连接的详细信息NAME端口或IP地址信息
示例输出
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2081361 www 6u IPv6 842221658 0t0 TCP localhost:48080-localhost:49738 (CLOSE_WAIT)
java 2081361 www 21u IPv6 842220852 0t0 TCP localhost:48080-localhost:47856 (CLOSE_WAIT)
java 2081361 www 194u IPv6 841638236 0t0 TCP *:48080 (LISTEN)此命令代表java 进程PID2081361正在监听端口 48080
使用 netstat 命令查询端口占用
netstatnetwork statistics命令可以用来显示网络连接、路由表、接口统计信息等
要查看所有占用端口的进程sudo netstat -tuln
参数描述Proto协议TCP或UDPRecv-Q、Send-Q接收队列和发送队列的大小Local Address本地地址和端口Foreign Address远程地址和端口对于监听中的端口为空State连接状态如 LISTEN 表示正在监听PID/Program name进程ID和程序名称需要-p选项
查看端口 48080 是否被占用sudo netstat -tuln | grep :48080
示例输出
tcp6 0 0 :::48080 :::* LISTEN此命令代表48080 端口在系统中是监听状态
使用 ss 命令查询端口占用
sssocket statistics是一个比 netstat 更快速的工具它可以用于查看网络连接、监听端口等信息
查看所有监听端口sudo ss -tuln
查看特定端口sudo ss -tuln | grep :48080
示例输出
LISTEN 0 128 *:48080 *:* 这表示端口 48080 正在监听中
2. 释放占用的端口
确认端口被某个进程占用时可以选择停止该进程或杀死该进程以释放端口
停止服务进程 确认是一个服务进程如 nginx 或 apache占用了端口可以通过系统的服务管理工具停止该服务
sudo systemctl stop nginx或者如果是其他服务比如 Tomcat 或 MySQL可以使用类似的命令来停止它们
杀死占用端口的进程
希望直接杀死占用端口的进程如 java 进程可以使用 kill 命令 使用 lsof 或 netstat 找到占用端口的进程IDPID
假设PID是 2081361可以通过以下命令停止它sudo kill -9 2081361 -9 参数表示强制杀死该进程
3. 修改应用程序的端口
不希望停止其他进程另一种解决方案是修改你正在运行的应用程序使用不同的端口
修改 Spring Boot 的端口
在Spring Boot应用中可以修改 application.properties 或 application.yml 文件来设置新的端口
application.properties server.port8081
application.yml
server:port: 8081保存后重启Spring Boot应用新的端口配置生效
修改其他应用程序的端口 对于其他应用程序例如 Node.js、Tomcat、nginx 等也可以在它们的配置文件中修改端口