Ubuntu
1.安装Erlang
RabbitMQ需要Erlang语言的支持,在安装RabbitMQ之前需要安装Erlang
#更新软件包
sudo apt-get update
#安装erlang
sudo apt-get install erlang
查看erlang版本
root@hcss-ecs-027f:/# erl
Erlang/OTP 24 [erts-12.2.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit]
Eshell V12.2.1 (abort with ^G)
退出命令:
halt().
2.安装RabbitMQ
#更新软件包
sudo apt-get update
#安装rabbitmq
sudo apt-get install rabbitmq-server
#确认安装结果
systemctl status rabbitmq-server
确认安装结果
root@hcss-ecs-027f:/# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ Messaging Server
Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-06-06 00:01:51 CST; 18s ago
Main PID: 353064 (beam.smp)
Tasks: 24 (limit: 1988)
Memory: 97.7M
CPU: 3.602s
CGroup: /system.slice/rabbitmq-server.service
├─353064 /usr/lib/erlang/erts-12.2.1/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu >
├─353076 erl_child_setup 65536
├─353164 inet_gethost 4
├─353165 inet_gethost 4
└─353174 /bin/sh -s rabbit_disk_monitor
Jun 06 00:01:47 hcss-ecs-027f systemd[1]: Starting RabbitMQ Messaging Server...
Jun 06 00:01:51 hcss-ecs-027f systemd[1]: Started RabbitMQ Messaging Server.
3.安装RabbitMQ管理界面
默认是不安装管理界面的,使用 rabbitmq-plugins enable rabbitmq_management
命令
root@hcss-ecs-027f:~# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@hcss-ecs-027f:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@hcss-ecs-027f...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
4.启动服务并访问
-
启动服务
若服务已经启动了,就可以忽略这一步。
# 启动 rabbitmq sudo service rabbitmq-server start root@hcss-ecs-027f:~# service rabbitmq-server start root@hcss-ecs-027f:~# //什么都没发生,就代表启动了。
查看服务状态
systemctl status rabbitmq-server
root@hcss-ecs-027f:~# systemctl status rabbitmq-server ● rabbitmq-server.service - RabbitMQ Messaging Server Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2025-06-06 00:01:51 CST; 15min ago Main PID: 353064 (beam.smp) Tasks: 24 (limit: 1988) Memory: 104.5M CPU: 7.981s CGroup: /system.slice/rabbitmq-server.service ├─353064 /usr/lib/erlang/erts-12.2.1/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu > ├─353076 erl_child_setup 65536 ├─353164 inet_gethost 4 ├─353165 inet_gethost 4 └─353174 /bin/sh -s rabbit_disk_monitor Jun 06 00:01:47 hcss-ecs-027f systemd[1]: Starting RabbitMQ Messaging Server... Jun 06 00:01:51 hcss-ecs-027f systemd[1]: Started RabbitMQ Messaging Server.
-
通过
IP:port
访问界面RabbitMQ Management (15672为默认端口号,云服务器需要开启端口)
rabbitmq客户端默认的用户名和密码都是: guest
rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问,解除方法也有,此处不 多说
-
添加管理员用户
-
添加用户admin,密码:admin
rabbitmqctl add_user {账号} {密码}
rabbltmqctl add_user admin admin
执行成功
root@hcss-ecs-027f:~# rabbitmqctl add_user admin admin Adding user "admin" ... Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
b. 给用户添加权限
# rabbitmqctl set_user_tags ${账号} ${角色名称} rebbitmqctl set_user_tags admin administrator
-
以下角色可选: RabbitMQ用户角色分为六种:Administrator、Monitoring、Policymaker、Management、Impersonator和None。
- Administrator:超级管理员,可登录管理控制台(启用management plugin的情况下),可查看所有信息,并且可以对用户和策略(policy)进行操作。
- Monitoring:监控者,可登录管理控制台(启用management plugin的情况下),可查看RabbitMQ节点的相关信息(进程数、内存使用情况、磁盘使用情况等)。
- Policymaker:策略制定者,可登录管理控制台(启用management plugin的情况下),可对policy进行管理,但无法查看节点相关信息。
- Management:普通管理者,仅可登录管理控制台(启用management plugin的情况下),无法查看节点信息,也无法对策略进行管理。
- Impersonator:模拟者,无法登录管理控制台。
- None:其他用户,无法登录管理控制台,通常作为普通的生产者和消费者。
**** 执行成功
root@hcss-ecs-027f:~# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
root@hcss-ecs-027f:~#
c. 通过 IP:port访问,并使用刚才设置的用户名和密码登录