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端口查询与管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux查看分区文件系统类型的方法总结

    Linux查看分区文件系统类型的方法总结

    这篇文章主要给大家总结介绍了关于Linux查看分区文件系统类型的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux系统具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • Ubuntu Server 16.04 LTS 上安装 LAMP图解教程

    Ubuntu Server 16.04 LTS 上安装 LAMP图解教程

    这篇文章主要介绍了Ubuntu Server 16.04 LTS 上安装 LAMP图解教程,需要的朋友可以参考下
    2016-09-09
  • Linux系统重启后MySQL数据丢失问题的解决步骤

    Linux系统重启后MySQL数据丢失问题的解决步骤

    今天分享一个在Linux系统中经常遇到的问题:系统重启后发现MySQL无法启动,而且数据似乎丢失了,这个问题可能会让人惊慌失措,但别担心,通常情况下这只是因为数据盘没有正确挂载导致的,现在我们将深入探讨这个问题的原因、解决方法以及如何预防它的再次发生
    2024-09-09
  • 解决CentOS7.6 yum报错GPG密钥不匹配:GPG Keys are configured as:https://mirrors.aliyun.com/centos/...问题

    解决CentOS7.6 yum报错GPG密钥不匹配:GPG Keys are c

    文章主要讲述了在使用yum安装`devtoolset-8-gcc*`时遇到GPG密钥不匹配的问题,并提供了两种解决方法:一是检查并修正.repo文件中的GPG密钥设置,二是同时保留阿里云和CentOS官方的GPG密钥,最终成功安装了gcc
    2025-03-03
  • 详解阿里云CentOS Linux服务器上用postfix搭建邮件服务器

    详解阿里云CentOS Linux服务器上用postfix搭建邮件服务器

    本篇文章主要介绍了详解阿里云CentOS Linux服务器上用postfix搭建邮件服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • Linux进行内存分配的方法步骤

    Linux进行内存分配的方法步骤

    在Linux操作系统中,内存管理是确保系统性能和稳定性的核心组成部分,对于开发者来说,理解内存分配机制不仅有助于编写更高效的程序,还能帮助他们更好地调试和优化应用,本文给大家介绍了Linux如何进行内存分配,需要的朋友可以参考下
    2025-02-02
  • 详解虚拟机下CentOS 6.5配置IP地址的三种方法

    详解虚拟机下CentOS 6.5配置IP地址的三种方法

    本篇文章主要介绍了虚拟机下CentOS 6.5配置IP地址的三种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 如何解决win10与Ubuntu16.04时间不同步的问题的方法

    如何解决win10与Ubuntu16.04时间不同步的问题的方法

    本篇文章主要介绍了如何解决win10与Ubuntu16.04时间不同步的问题的方法,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)

    CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)

    这篇文章主要介绍了CentOS7部署Flask(Apache、mod_wsgi、Python36、venv),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法

    Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法

    这篇文章主要介绍了Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法,较为详细的分析了Ubuntu14.04操作系统环境下配置PHP7.0+Apache2+Mysql5.7的具体步骤与相关命令使用技巧,需要的朋友可以参考下
    2018-04-04

最新评论