美文网首页
Linux 端口冲突原因分析

Linux 端口冲突原因分析

作者: weaponxx | 来源:发表于2023-03-24 14:28 被阅读0次

    在复杂系统运维过程中,很可能出现应用节点启动的时候出现端口冲突,下面对遇到过端口冲突的情况做一个统一的整理.

    处理思路

    1. 确认是和那个进程端口冲突了,通过以下命令确认和那个进程冲突了.
    lsof -i:port
    
    1. 判断是和进程的服务器端口冲突了还是客户端端口冲突
      1. 服务器端口,对外提供服务的端口,这种情况一般是最常见的,一般直接修改端口就能接近
      2. 客户端端口,访问外部服务的端口,比如进程需要连接数据库,创建的数据库连接会占用一个本地端口.
        这种情况重启一次程序可能问题又消失了,但是过了一段时间有出现了.要如何根本避免这个问题.
        需要调整Linux的配置文件,Linux系统有一个ip_local_port_range 参数,这个参数定义客户端端口的使用范围,如下面的参数定义,端口范围是20000-65500,这样客户端端口只会使用这个范围内的.
        我们的服务端端口只要定义小于20000就永远不会和客户端端口冲突了.
        #set ip_local_port_range
        sed -i '$a #set ip_local_port_range' /etc/sysctl.conf
        sed -i '$a net.ipv4.ip_local_port_range=20000 65500' /etc/sysctl.conf
        sed -i '$a #set param end' /etc/sysctl.conf
        
        sysctl -p
        
    2. 可能发现没有端口冲突的进程
      1. 这种情况可能也是2.2这样的原因,和自己本进程的客户端端口冲突了,启动失败进程退出了,这个冲突端口被自动释放了

    相关文章

      网友评论

          本文标题:Linux 端口冲突原因分析

          本文链接:https://www.haomeiwen.com/subject/zgsmrdtx.html