鱼
发布于

桌牌 - 端口被占用问题

桌牌上位机启动时需要监听两个端口:80(用于 Web 访问), 1883(用于 MQTT 协议)。当这些端口被其他进程占用时,会导致启动失败。本文将详细介绍如何在 Windows 和 Linux 系统中解决这些问题。

端口被占用的错误信息:
日志检查:查看安装目录下的 server/logs/table-card-server/all.log 文件,找到错误信息。

  • 端口 80 被占用:
  • 端口 1883 被占用:

附件说明

  • check_port_process_win.bat: 用于 Windows 系统中查找并显示监听 80, 1883 端口的进程信息。
  • kill_process_win.bat: 用于 Windows 系统帮助用户强制终止指定的进程 ID(PID).
  • check_port_process_linux.bat: 用于 Linux 系统中查找并显示监听 80, 1883 端口的进程信息。
  • kill_process_linux.bat: 用于 Linux 系统帮助用户强制终止指定的进程 ID(PID).

Windows 系统解决方案

1.查找并终止占用端口的进程:

  • 以管理员身份运行批处理脚本:

    • 使用 check_port_process_win.bat 脚本查询端口 80 ,1883 监听情况。如果出现中文乱码或"The system cannot write to the specified device",请参考批处理中文乱码解决方案
    • 使用 kill_process_win.bat 脚本强制终止特定 PID 的进程。在终止某个进程之前,最好确认该进程的作用和终止它可能带来的后果。

    特别注意

    • 如果发现占用 80 端口的是 System 进程(PID 为 4),请按照此教程操作,关闭相关的 IIS 服务。

2.重启桌牌上位机

  • 运行桌牌上位机终止脚本 stop.bat(路径:安装目录/stop.bat)。
  • 重新运行桌牌上位机程序。

解决 1883 端口被占用示例:

Linux 系统解决方案

1.查找并终止占用端口的进程:

  • 以超级用户身份运行批处理脚本:
    • 使用 check_port_process_linux.sh 脚本查询端口 80 ,1883 监听情况。

      命令: sudo ./check_port_process_linux.sh
      
    • 使用 kill_process_linux.sh 脚本强制终止特定 PID 的进程。在终止某个进程之前,最好确认该进程的作用和终止它可能带来的后果。

      命令: sudo ./kill_process_linux.sh
      

2.重启桌牌上位机

  • 运行桌牌上位机终止脚本 stop.sh(路径:安装目录/stop.sh)。

    命令: sudo ./stop.sh
    
  • 重新运行桌牌上位机程序。

解决 80 端口被占用示例:

浏览 (594) 点赞 (1) 收藏 分享
评论