如何查找服务器上MQ队列管理器的端口号?相关命令有哪些?
如何查找IBM MQ队列管理器的端口号
Hey there! 我来帮你梳理几种快速定位MQ队列管理器端口号的实用方法,这些都是日常运维中常用的技巧:
方法1:查看MQ监听配置文件(Unix/Linux环境)
MQ的监听配置通常存储在队列管理器的专属配置目录中:
- 路径格式:
/var/mqm/qmgrs/<你的队列管理器名称>/ini/listener.ini - 用cat命令直接查看文件内容:
cat /var/mqm/qmgrs/QM1/ini/listener.ini(记得把QM1替换成实际的队列管理器名) - 在输出里找到
PORT字段,比如PORT=1414,这就是对应的端口号
方法2:使用MQ官方命令行工具(runmqsc)
这是最权威的查询方式,跨平台通用:
- 进入MQ命令环境:
- Unix/Linux:执行
. /opt/mqm/bin/setmqenv -s(注意开头的点和空格) - Windows:直接打开「MQ命令提示符」
- Unix/Linux:执行
- 连接到目标队列管理器:
runmqsc QM1(替换QM1为你的队列管理器名) - 在runmqsc交互模式下,执行查询命令:
- 快速查看端口:
DISPLAY LISTENER(*) PORT,输出里会显示PORT(1414)这类结果 - 查看监听完整配置:
DISPLAY LISTENER(*) ALL,能获取端口、协议、启动方式等全部信息
- 快速查看端口:
- 退出交互模式:输入
END即可
方法3:检查系统正在监听的端口(跨平台通用)
如果不确定哪个端口对应MQ,可以直接排查系统监听的端口:
- Unix/Linux:
- 用
netstat:netstat -tulnp | grep runmqlsr(runmqlsr是MQ的监听进程) - 或者更高效的
ss命令:ss -tulnp | grep mqm
输出里LISTEN状态对应的端口就是MQ正在使用的端口
- 用
- Windows:
- 打开命令提示符,执行
netstat -ano | findstr "runmqlsr.exe" - 找到对应的进程ID(PID),再用
tasklist /fi "pid eq <PID>"确认是MQ监听进程,对应的端口即为目标
- 打开命令提示符,执行
方法4:通过MQ Web控制台查询(若已配置)
如果你的MQ部署了Web控制台:
- 登录控制台后,找到目标队列管理器
- 进入「Listeners」(监听)选项卡
- 在列表中直接查看每个监听的端口配置
小提醒:如果队列管理器配置了多个监听(比如不同协议),要确认你需要的是TCP/IP协议的端口(这是最常用的类型)。另外,MQ默认端口是1414,但实际环境中经常会被修改,一定要以实际配置为准。
内容的提问来源于stack exchange,提问作者Onkar
相关产品推荐
相关产品推荐

