Ubuntu系统端口查询与管理的详细分析

 更新时间:2024年11月13日 09:45:05   作者:码农研究僧  
事情起因是宝塔的CPU负载过大,重启服务进程之后还是爆,后续发现是端口被占用,导致服务重启不起来,所以本文给大家介绍了Ubuntu系统端口查询与管理的详细分析,需要的朋友可以参考下

前言

Window的端口被占用,事情起因是宝塔的CPU负载过大,重启服务进程之后还是爆,后续发现是端口被占用,导致服务重启不起来!

对应需要kill相关进程的端口即可,对此补充相关知识

1. 查询端口占用情况

使用 lsof 命令查询端口占用

lsof(list open files)是一个强大的工具,用来列出系统中打开的文件,包括网络连接、端口等

查询特定端口(例如 48080)被哪个进程占用:sudo lsof -i :48080

参数描述
COMMAND进程名(例如 nginx、java)
PID进程的ID(进程标识符)
USER进程的拥有者
FD文件描述符(表示文件类型和打开模式)
TYPE连接类型(IPv4、IPv6)
DEVICE、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 进程(PID:2081361)正在监听端口 48080

使用 netstat 命令查询端口占用

netstat(network statistics)命令可以用来显示网络连接、路由表、接口统计信息等

要查看所有占用端口的进程:sudo netstat -tuln

参数描述
Proto协议(TCP或UDP)
Recv-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 命令查询端口占用

ss(socket 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 找到占用端口的进程ID(PID)

假设PID是 2081361,可以通过以下命令停止它:sudo kill -9 2081361-9 参数表示强制杀死该进程

3. 修改应用程序的端口

不希望停止其他进程,另一种解决方案是修改你正在运行的应用程序使用不同的端口

修改 Spring Boot 的端口

在Spring Boot应用中,可以修改 application.properties 或 application.yml 文件来设置新的端口

application.properties: server.port=8081

application.yml:

server:
  port: 8081

保存后重启Spring Boot应用,新的端口配置生效

修改其他应用程序的端口

对于其他应用程序(例如 Node.js、Tomcat、nginx 等),也可以在它们的配置文件中修改端口

到此这篇关于Ubuntu系统端口查询与管理的详细分析的文章就介绍到这了,更多相关Ubuntu端口查询与管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 虚拟机与物理机的文件共享方式

    虚拟机与物理机的文件共享方式

    文章介绍了如何在Kali Linux虚拟机中实现物理机文件夹的直接挂载,以便在虚拟机中方便地读取和使用物理机上的文件,通过设置和配置,可以实现临时挂载和永久挂载,并提供了详细的步骤和注意事项
    2025-01-01
  • 如何设置vim永久显示行号

    如何设置vim永久显示行号

    在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号
    2025-01-01
  • Apache James配置连接达梦数据库的步骤

    Apache James配置连接达梦数据库的步骤

    本文介绍了如何配置Apache James邮件服务器以连接达梦数据库,包括导入JDBC驱动、修改配置文件和SQL语句,并提供了解决启动报错的方法
    2024-09-09
  • linux安装miniconda3实践过程

    linux安装miniconda3实践过程

    这篇文章主要介绍了linux安装miniconda3实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    轻松配置PHP5.3.3+Apache2.2.16+MySQL5.1.49,下面是有详细的步骤说明。
    2010-09-09
  • Linux SSD磁盘的优化配置指南

    Linux SSD磁盘的优化配置指南

    在现代 Linux 系统中,固态硬盘(SSD)已经成为主流存储设备,相比传统机械硬盘(HDD),SSD 具有更快的读写速度、更低的延迟和更高的 IOPS,本文将深入探讨如何在 Linux 环境下对 SSD 进行全面优化,需要的朋友可以参考下
    2026-04-04
  • 配置Linux服务器SSH 安全访问的四个小技巧

    配置Linux服务器SSH 安全访问的四个小技巧

    越来越多的站长,开始使用独立主机(Dedicated Host)和 VPS。而为了节省成本或提高性能,不少人的独机和 VPS,都是基于 unmanaged 的裸机,一切都要自己 DIY。这时候,安全策略的实施,就犹为重要。
    2010-12-12
  • Xshell远程连接失败以及解决方案

    Xshell远程连接失败以及解决方案

    本文介绍了在Windows 11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows 11家庭版中,需要通过设置添加SSH功能并以管理员身份运行命令提示符开启SSH服务,在CentOS中,需要检查是否已安装SSH服务,最后,通过双击Xshell会话检查是否成功连接
    2025-01-01
  • Vim命令高级用法

    Vim命令高级用法

    一些高级的Vim命令用法:同时编辑多个文件、文本重排、域操作、缓冲区的使用等命令。
    2013-11-11
  • Linux查询服务器系统版本号的多种方法

    Linux查询服务器系统版本号的多种方法

    在 Linux 系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和技术支持的效率,本文给大家介绍了Linux查询服务器系统版本号的多种方法,需要的朋友可以参考下
    2025-08-08

最新评论