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 ServerLoaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2025-06-06 00:01:51 CST; 18s agoMain PID: 353064 (beam.smp)Tasks: 24 (limit: 1988)Memory: 97.7MCPU: 3.602sCGroup: /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_monitorJun 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_managementrabbitmq_management_agentrabbitmq_web_dispatch
Applying plugin configuration to rabbit@hcss-ecs-027f...
The following plugins have been enabled:rabbitmq_managementrabbitmq_management_agentrabbitmq_web_dispatchstarted 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 ServerLoaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2025-06-06 00:01:51 CST; 15min agoMain PID: 353064 (beam.smp)Tasks: 24 (limit: 1988)Memory: 104.5MCPU: 7.981sCGroup: /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_monitorJun 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訪問,并使用剛才設置的用戶名和密碼登錄
RabbitMQ Management