Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 482|回复: 0

在Centos7中,从主机 Windows 上无法远程访问 Linux 上rabbitmq的解决方法

[复制链接]
  • TA的每日心情
    奋斗
    2025-3-18 14:43
  • 签到天数: 805 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    73万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    731050
    发表于 2021-4-26 18:49:34 | 显示全部楼层 |阅读模式

     当在 Linux 上配置好 Rabbitmq服务器后,如果从主机中无法访问到 Linux 中的Rabbitmq服务器时,需要做如下的检查:

    1. Rabbitmq是否启动成功

    在控制台输入:

    ps -ef | grep rabbitmq

    命令含义:从当前所有进程中查找是否含有rabbitmq进程

    如果有内容显示,则说明 Rabbitmq启动成功

    否则,重新启动 Rabbitmq

    2. 检查能否从 Linux 本地中访问到 Rabbitmq

    从控制台输入命令:

    wget http://localhost:15672

    命令含义:访问 http://localhost:15672

    否则,检查 Rabbitmq端口号是否正确

    3. 检查 Rabbitmq启动端口号

    Rabbitmq 默认的启动端口号是 15672,如果你没有对 Rabbitmq 的配置文件做修改的话应该是没有问题的
    输入命令:

    ps -ef | grep rabbitmq

    命令含义:查看 Rabbitmq进程信息



    查看进程号(图中红色框位置)

    接着输入命令:

    netstat -apn | grep 9810

    (注:grep 后跟的就是上一步所查的进程号)
    命令含义:查看 9810进程占用的端口号

    图中红色框位置即是你的 Rabbitmq的启动端口号

    4. 检查远程访问的 ip 地址是否正确

    如果从 Linux 本地可以成功访问 Rabbitmq服务器,而从 Windows(主机) 上无法访问,那么首先检查远程访问的 ip 地址是否正确
    在 Liunx 控制台上输入命令:

    ifconfig

     

    图中位置即是 Linux 的 ip 地址,若此处没出现ens33的ip地址,可能是网络配置没配置好,解决方法具体请见https://www.cnblogs.com/zipxzf/p/11237269.html

    5. 检查 Linux 防火墙是否开放 Rabbitmq端口号

    当window能够ping通linux的ip,而还是不能通过ip在windows上访问linux的一些服务,如tomcat、mysql、nginx、rabbitmq等服务,最可能的原因是linux的防火墙问题。

    如果你没有修改过 Linux 防火墙配置的话,那么 Rabbitmq 端口号一定是被禁用了 ,因为 Linux 防火墙默认只开启 22 号端口。

    你需要设置防火墙配置,开放 Rabbitmq的端口号 (注:网上有其他解决方法说直接关闭防火墙,这种方法很不可取

    我的 Linux 版本是 CentOS 7 ,在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,如果要添加范围例外端口 如 1000-2000

    语法命令如下:启用区域端口和协议组合

    firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]

    此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。

    实际命令如下:

      添加

    firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
    
    firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 

      重新载入

    firewall-cmd --reload

      查看

    firewall-cmd --zone=public --query-port=80/tcp

      删除

    firewall-cmd --zone=public --remove-port=80/tcp --permanent

    此处的解决方案是开放 15672端口号只需输入命令:(注:若python无法连接Rabbitmq,同理,则需要开放5672端口号)

    firewall-cmd --zone=public --add-port=15672/tcp --permanent

    然后重启防火墙,即可解决:

    firewall-cmd --reload

     成功访问rabbitmq管理页面

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-5-7 09:03 , Processed in 0.064569 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表