随笔 - 322,  文章 - 0,  评论 - 10,  阅读 - 64301

启动命令:

service rabbitmq-server start

重启命令:

service rabbitmq-server restart

停止命令:

service rabbitmq-server stop

RabbitMq的安装

erlang 与 rabbitmq 正确的版本匹配 https://www.rabbitmq.com/which-erlang.html

在线安装

安装rabbitmq需要先安装Erlang。

下载erlang rpm包:

wget http://packages.erlang-solutions.com/erlang/rpm/centos/6/x86_64/erlang-22.0.4-1.el6.x86_64.rpm

下载socat rpm包:

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm

下载rabbitmq rpm包:

wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/6/rabbitmq-server-3.7.15-1.el6.noarch.rpm/download.rpm

安装rpm包:

# 安装RabbitMq:
rpm -ivh erlang-22.0.4-1.el6.x86_64.rpm --force --nodeps
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm --force --nodeps
rpm -ivh rabbitmq-server-3.7.15-1.el6.noarch.rpm --force --nodeps

检查是否安装成功

查看erlang版本:

[root@JR-JDH-UATAPP1 ~]erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.4.3

查看Rabbitmq版本:

复制代码
[root@JR-JDH-UATAPP1 ~]# sudo rabbitmqctl status | grep rabbit
Status of node rabbit@JR-JDH-UATAPP1 ...
  [{rabbitmq_tracing,"RabbitMQ message logging / tracing","3.7.15"},
   {rabbitmq_management,"RabbitMQ Management Console","3.7.15"},
   {rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.15"},
   {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.15"},
   {rabbit,"RabbitMQ","3.7.15"},
   {rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
复制代码

检查erlang是否运行正常:

[root@JR-JDH-UATAPP1 ~]# erl
Erlang/OTP 22 [erts-10.4.3] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
Eshell V10.4.3 (abort with ^G)
1>

检查Rabbitmq是否运行正常:

[root@tcljr-jdh-yc01 ~]# systemctl status rabbitmq-server
 rabbitmq-server.service - LSB: RabbitMQ is a multi-protocol messaging broker
Loaded: loaded (/etc/rc.d/init.d/rabbitmq-server; bad; vendor preset: disabled)
Active: active (running) since Wed 2021-07-21 11:31:09 CST; 23h ago

查看安装路径:

[root@JR-JDH-UATAPP1 ~]# whereis erlang
erlang: /usr/lib64/erlang
[root@JR-JDH-UATAPP1 ~]# whereis rabbitmq
rabbitmq: /etc/rabbitmq /usr/lib/rabbitmq

常用命令

复制代码
# 运行
systemctl start rabbitmq-server

# 重启
systemctl restart rabbitmq-server

# 停止
systemctl stop rabbitmq-server

# 开机自启
systemctl enable rabbitmq-server

# 检查状态
systemctl status rabbitmq-server

# 查看所有用户
rabbitmqctl list_users

# 创建用户
rabbitmqctl add_user 用户名 密码

# 将用户给于权限(none、management、policymaker、monitoring、administrator):
rabbitmqctl set_user_tags 用户名 角色

# 查看当前用户所有的权限
rabbitmqctl list_user_permissions 用户名

# 赋予用户权限(vhost configure write read)
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"

  Setting permissions for user "guest" in vhost "/" ...
  Error:
  Virtual host / does not exist

  # 报错"Virtual host / does not exist",需要添加虚拟主机:rabbitmqctl add_vhost /

# 然后再重新赋予权限:rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
# 删除用户 rabbitmqctl delete_user 用户名
复制代码

开启web管理接口

启动RabbitMQ Web管理控制台:

rabbitmq-plugins enable rabbitmq_management

打开浏览访问:

http://ip:15672

第一次访问需要登录,默认的账号密码为:guest/guest,会遇到如下图问题:User can only log in via localhost



默认情况下,Rabbitmq对guest这个账户做了限制,默认只能通过本地网络(如localhost)访问,远程网络访问受限,使用默认的用户 guest / guest (此也为管理员用户)登陆,只能登陆localhost:15672。

所以在实现生产和消费消息之前,需要另外添加一个用户,并设置相应的访问权限:

rabbitmqctl add_user 用户名 密码

设置该用户为管理员角色:

rabbitmqctl set_user_tags 用户名 administrator

为该用户设置所有权限:

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"

我们通过该用户就可以访问了。

另外,如果想要使用guest账号登录,必须解除Rabbitmq对guest账号的限制:

找到rabbit.app这个文件

[root@JR-JDH-UATAPP1 ~]# find / -name rabbit.app
/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.15/ebin/rabbit.app

修改这个文件:

vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.15/ebin/rabbit.app

将:{loopback_users, [<<”guest”>>]} 改为:{loopback_users, []},
原因:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。

重启服务:

systemctl restart rabbitmq-server.service

这样就可以以guest账号登录了。

管理界面介绍

主页

  • Overview:概览信息,包括总计、全局计数、节点、端口和上下文等信息;
  • connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况;
  • channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道;
  • Exchanges:交换机,用来实现消息的路由;
  • Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列;

Overview

Total

  • Ready:待消费的消息总数;
  • Unacked:待应答的消息总数
  • Total:总数 Ready+Unacked;

Global counts

  • Connections:client的tcp连接的总数;
  • Channels:通道的总数;
  • Exchange:交换器的总数;
  • Queues:队列的总数;
  • Consumers:消费者的总数;

Nodes

  • Name:broker名称;
  • File descriptors:broker打开的文件描述符和限制;
  • Socket descriptors:broker管理的网络套接字数量和限制,当限制被耗尽时,将停止接受新的网络连接;
  • Erlang processes:erlang启动的进程数;
  • Memory:当前broker占用的内存;
  • Disk space:当前broker占用的硬盘;
  • Uptime:当前broker持续运行的时长;

Connections

  • Virtual host:所属的虚拟主机;
  • Name:名称;
  • User name:使用的用户名;
  • State:当前的状态,running:运行中;idle:空闲;
  • SSL/TLS:是否使用ssl进行连接;
  • Protocol:使用的协议;
  • Channels:创建的channel的总数;
  • From client:每秒发出的数据包;
  • To client:每秒收到的数据包;

Channels

  • channel:名称;
  • Virtual host:所属的虚拟主机;
  • User name:使用的用户名;
  • Mode:渠道保证模式。 可以是以下之一,或者不是:C: confirm。T:transactional(事务);
  • State :当前的状态,running:运行中;idle:空闲;
  • Unconfirmed:待confirm的消息总数;
  • Prefetch:设置的prefetch的个数;
  • Unacker:待ack的消息总数;
  • publish:producter pub消息的速率;
  • confirm:producter confirm消息的速率;
  • deliver/get:consumer 获取消息的速率;
  • ack:consumer ack消息的速率;

Exchanges

  • Virtual host:所属的虚拟主机;
  • Name:名称;
  • Type:exchange type;
  • Features:功能。 可以是以下之一,或者不是:D: 持久化。T:Internal,存在改功能表示这个exchange不可以被client用来推送消息,仅用来进行exchange和exchange之间的绑定,否则可以推送消息也可以绑定。
  • Message rate in:消息进入的速率。
  • Message rate out:消息出去的速率。

Queues

  • Virtual host:所属的虚拟主机;
  • Name:名称;
  • Features:功能。 可以是以下之一,或者不是:D: 持久化;
  • State:当前的状态,running:运行中;idle:空闲;
  • Ready:待消费的消息总数;
  • Unacked:待应答的消息总数;
  • Total:总数 Ready+Unacked;
  • incoming:消息进入的速率;
  • deliver/get:消息获取的速率;
  • ack:消息应答的速率;

配置RabbitMq

关于RabbitMq的配置,可以下载RabbitMq的配置文件模板到rabbitmq.config,然后按需更改即可。

具体配置信息参考官网:http://rabbitmq.com/configure.html

开放端口

/sbin/iptables -I INPUT -p tcp —dport 5672 -j ACCEPT

/sbin/iptables -I INPUT -p tcp —dport 15672 -j ACCEPT

卸载

1、卸载前先停止rabbitmq服务

/usr/lib/rabbitmq/bin/rabbitmqctl stop

查看rabbitmq安装的相关列表

yum list | grep rabbitmq

卸载rabbitmq已安装的相关内容

yum -y remove rabbitmq-server.noarch

2、卸载erlang
查看erlang安装的相关列表

yum list | grep erlang

卸载erlang已安装的相关内容

yum -y remove erlang-*
yum remove erlang.x86_64

3、删除有关的所有文件

rm -rf /usr/lib64/erlang
rm -rf /usr/lib/rabbitmq 
rm
-rf /usr/local/erlang
rm
-rf /usr/local/rabbitmq

Rabbitmq安装、介绍及卸载到此结束。

posted on   java先生  阅读(393)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示