反馈已提交

网络繁忙

端口占用检查与防火墙配置

  • 文档创建者:Carly
  • 历史版本:7
  • 最近更新:Carly 于 2026-01-19
  • 概述

    问题描述

    • 部署运维平台报错:try bind ports 80 error

    报错语句:ERROR: 2025/10/11 15:26:19 10.38.6.26 :try bind ports 9200,9071,12800,11800,80 error

    • 部署运维项目报错:Server IP try to bind ports failed!

    报错语句:Server IP try to bind ports 9114,9100,9200,9080,9070 failed!

    原因分析

    待部署的运维平台组件/运维项目组件容器,需要占用一些端口。

    如果这些端口已被占用/没有开放,则无法成功部署,会出现以上报错。

    解决方案

    请依次检查以下三者:

    1)检查该端口是否被服务器中其他进程占用

    • 如果端口被占用,则需要更换一个未被占用的端口,再检查新端口的下两项。

    • 如果端口未被占用,则需要检查该端口的下两项。

    2)检查服务器防火墙是否放行端口

    • 如果服务器防火墙未开启,建议开启。

    • 如果服务器防火墙开启,需要开放所需端口。

    • 如果端口已开放,请检查下一项。

    3)如为云服务器,请检查服务器安全组是否放行端口

    • 云服务器安全组端口放行方式本文不作介绍,请联系你的云服务器厂商咨询。

    检查端口占用情况

    本文提供多种方法检查Linux系统中的端口是否被其他进程占用。

    需要注意的是,执行以下命令通常需要以root用户或具有足够权限的用户身份运行,以获取完整的进程信息。

    使用netstat命令

    命令语句

    netstat -tuln | grep <端口号>

    将 <端口号> 替换为您要检查的具体端口号

    返回说明

    这条命令将显示监听该端口的进程信息

    如果有进程正在使用该端口,您将能够看到相关的输出

    如果该端口未被占用,则无任何输出

    示例

    使用lsof命令

    命令语

    lsof -i :<端口号>

    将 <端口号> 替换为您要检查的具体端口号

    返回说明

    这条命令将显示打开该端口的进程及其相关信息。

    如果有进程正在使用该端口,您将能够看到相关的输出

    如果该端口未被占用,则无任何输出

    示例

    检查防火墙放行情况

    1)建议服务器防火墙长期启用。

    2)建议开放且只开放必要的端口,防止不必要的网络暴露。

    本文根据不同操作系统提供常用的防火墙操作示例,请根据自身实际情况选用,或查询相关官方文档。

    常用语句

    场景

    UFW

    Ubuntu 默认防火墙

    firewalld

    CentOS 默认防火墙

    检查防火墙状态sudo ufw statussystemctl status firewalld
    启动防火墙sudo ufw enablesystemctl start firewalld
    关闭防火墙sudo ufw disablesystemctl stop firewalld
    防火墙开机启动
    sudo systemctl enable ufwsystemctl enable firewalld
    防火墙开机禁用sudo systemctl disable ufwsystemctl disable firewalld
    查看所有放行端口sudo ufw status numberedfirewall-cmd --zone=public --list-ports
    查看指定端口是否放行sudo ufw status | grep <端口>firewall-cmd --zone=public --query-port=<端口>/<协议>
    放行指定端口sudo ufw allow <端口>/<协议>firewall-cmd --zone=public --add-port=<端口>/<协议> --permanent
    取消放行指定端口sudo ufw delete allow <端口>/<协议>firewall-cmd --zone=public --remove-port=<端口>/<协议> --permanent
    更新防火墙规则sudo ufw reloadfirewall-cmd --reload

    ufw示例(Ubuntu 默认防火墙)

    本示例介绍如何开放防火墙并放行8080端口。

    1)启动防火墙

    • 检查防火墙状态:sudo ufw status。返回值为「inactive」,说明未启动防火墙

    • 启动防火墙:sudo ufw enable。系统会提示操作可能中断现有连接,输入 y 回车确认

    • 再次检查防火墙状态:sudo ufw status。返回值为「active」,说明已启动防火墙

    2)开放8080端口

    • 检查端口是否放行:sudo ufw status | grep 8080/tcp。无输出,说明未放行8080端口

    • 开放端口:sudo ufw allow 8080/tcp。返回值为「Rule added」,说明已放行8080端口

    • 无需手动更新防火墙规则,UFW 规则自动生效

    • 再次检查端口是否放行:sudo ufw status numbered。返回值列表中包含8080,且Action为「ALLOW」,说明已放行8080端口

    firewalld(CentOS 默认防火墙)

    本示例介绍如何开放防火墙并放行8080端口。

    1)启动防火墙

    • 检查防火墙状态:systemctl status firewalld。返回值为「not running」,说明未启动防火墙

    • 启动防火墙:systemctl start firewalld

    • 再次检查防火墙状态:systemctl status firewalld。返回值为「running」,说明已启动防火墙

    2)开放8080端口

    • 检查端口是否放行:firewall-cmd --zone=public --query-port=8080/tcp。返回值为「no」,说明未放行8080端口

    • 开放端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent。返回值为「success」,说明已放行8080端口

    • 更新防火墙规则:firewall-cmd --reload。返回值为「success」,说明已更新规则

    • 再次检查端口是否放行:firewall-cmd --zone=public --query-port=8080/tcp。返回值为「yes」,说明已放行8080端口

    注意事项:重启防火墙之后需要重启Docker

    问题描述:

    部署运维平台/运维项目后,在对应服务器上会自动部署 Docker。

    Docker 在启动时会自动修改 iptables 规则,确保容器间的网络通信、端口映射等功能能够正常工作。

    当防火墙重启时,可能会刷新或覆盖这些 iptables 规则,导致 Docker 原先设置的规则失效,造成容器无法正常访问网络或服务端口映射失败。

    解决方法:

    重启防火墙后,请重启 Docker 服务。

    重启 Docker 服务后,Docker 会重新加载并设置所需的 iptables 规则,确保网络功能恢复正常。

    该操作会导致运维平台/运维项目不可用,请在非工作时段进行。

    该操作需要掌握基础docker知识,如无法完成,请联系帆软技术支持协助。技术支持联系方式:「服务>在线支持」

    附件列表


    主题: 项目管理
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持