安裝步驟
rabbitMQ依賴于erlang的環境,所以需要先安裝erlang,erlang跟rabbitMQ是有版本之間的關聯關系的,根據對應的版本去安裝下載,保證少出問題。
可以通過官網來查看RabbitMQ和erlang之間的版本對應關系
rabbitMQ和erlang之間的版本對應關系官網鏈接
https://www.rabbitmq.com/docs/which-erlang
不同的服務器有不同的架構模式,我這里以國產化服務器麒麟銀河V10為準,麒麟銀河V10的架構協議是aarch64,如果不知道自己的服務器是什么架構模式的可以通過命令
uname -m
來查看是什么架構模式的服務器。
麒麟銀河V10安裝運行
下載erlang
下載地址
https://www.rabbitmq.com/docs/download
rabbitMQ是以erlang為基礎來運行的,所以我們先下載erlang,在下載鏈接里面找到這個位置
按照這個步驟,點擊5后,跳轉到gitHub頁面,點擊Tags,然后跳轉到版本內容里,選擇Releases,展示出來的是各個erlang版本的列表,選擇跟你想要的rabbitMq的版本對應的erlang版本即可,Assets內選擇對應的服務器架構的rpm文件進行下載即可。
下載RabbitMQ
下載完erlang以后,下載RabbitMQ,還是剛才看RabbitMQ和erlang對應關系的網站,選擇下載CentOS的鏈接。
選擇以后跳轉到圖片位置,可以搜索一下Direct Downloads標題,點擊下載即可。(centOS的包在麒麟V10里可以直接用,目前沒有麒麟V10的版本)
安裝運行
RabbitMQ和erlang都下載完成后,就可以安裝了,把安裝包放到linux的目錄下,執行 rpm -ivh 安裝命令。
安裝命令:
安裝erlang:rpm -ivh erlang-27.3-1.el8.aarch64.rpm
安裝rabbitMQ:rpm -ivh rabbitmq-server-4.0.7-1.el8.noarch.rpm
安裝完成后使用 systemctl rabbitmq-server start 命令啟動mq
[root@Centos7 rabbitmq]# service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
重啟命令:systemctl restart rabbitmq-server
狀態查看命令:systemctl status rabbitmq-server
開啟web頁面
使用rabbitmq-plugins enable rabbitmq_management命令開啟web頁面,注意開啟后需要使用systemctl restart rabbitmq-server命令重啟rabbitmq服務
重啟后,就可以通過http://localhost:15672來訪問管理端頁面了。
創建用戶
默認rabbitMQ是guest用戶,賬號密碼都是guest,但是只能本地登錄,遠程登錄需要重新創建用戶。
新增用戶
創建用戶,用戶密碼都是admin
rabbitmqctl add_user admin admin
設置用戶分配操作權限
rabbitmqctl set_user_tags admin administrator
administrator 為用戶級別,所有的級別為:
- administrator 可以登錄控制臺、查看所有信息、可以對rabbitmq進行管理
- monitoring 監控者,可登錄控制臺,查看所有信息
- policymaker 策略制定者, 可登錄控制臺,指定策略
- managment 普通管理員,可登錄控制臺
為用戶添加資源權限
rabbitmqctl set_permissions -p / 用戶名 ".*" ".*" ".*"
- -p /: –p 參數后面跟的是虛擬主機名稱,這里 / 表示默認的根虛擬主機。
- admin: 這是設置權限的用戶賬號。通常用于管理員操作。
- “.“: 這是一個通配符模式,意味著對這個用戶賦予了所有權限。”” 代表任意字符,. 代表任意單個字符。
- “." 和
".”:這兩個同樣是指定該用戶可以執行的所有操作,也是全部權限的表示。
這條命令的作用就是給用戶 admin 在 / 虛擬主機上設置了完全權限,這意味著 admin 用戶可以執行所有的操作,包括但不限于創建、刪除隊列,發布、取消消息等。
控制臺執行如下命令:
[root@Centos7 rabbitmq]# 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.
[root@Centos7 rabbitmq]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
[root@Centos7 rabbitmq]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
使用新賬號登錄
進入后在Admin頁簽中如下圖,用戶處多了新加的admin:
至此安裝運行完成。
其他用戶操作命令:
rabbitmqctl change_password Username Newpassword 修改密碼
rabbitmqctl delete_user Username 刪除用戶
rabbitmqctl list_users 查看用戶清單
Docker安裝
docker安裝rabbitmq訪問地址
docker安裝訪問地址:https://www.rabbitmq.com/docs/download
復制docker安裝命令,粘貼到安裝好docker的linux服務器上即可。
# latest RabbitMQ 4.0.x
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0-management
docker命令會自動安裝rabbitmq,只需要等待即可。
[root@Centos7 ~]# docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0-management
Unable to find image 'rabbitmq:4.0-management' locally
4.0-management: Pulling from library/rabbitmq
afad30e59d72: Already exists
211e97f904c7: Already exists
b7d633cb09df: Already exists
0357761da170: Already exists
ca95b127b98a: Already exists
3ec3ceaa0dcb: Already exists
7037c52023fb: Already exists
d738327fa668: Already exists
5a286d22c8dd: Already exists
e971f4d4bd73: Pull complete
Digest: sha256:a0ea806ba32e6e9776aa83f66796e6c746606e669220b26359bd461c79a2ba14
Status: Downloaded newer image for rabbitmq:4.0-management
.........
2024-11-22 01:53:31.112725+00:00 [info] <0.9.0> Time to start RabbitMQ: 3371 ms
下載成功后,他是命令行控制臺運行的,不是后臺運行,直接停止,然后換為后臺運行即可。
[root@Centos7 ~]# docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0-management
7a462270fd1154dsjfh474awr645sffsjfhsaf15454de63ccb0ddad
如果不了解docker命令的,建議先去學習一下docker。
查看版本信息
[root@Centos7 ~]# docker run --rm rabbitmq rabbitmqctl version
4.0.3
docker開啟rabbitMQ管理界面
首先需要進入docker的rabbitMQ內部
#查看docker運行服務的狀態
[root@bogon /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a462270fd11 rabbitmq:latest "docker-entrypoint.s…" 13 minutes ago Up 13 minutes 4369/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:5673->5672/tcp, :::5673->5672/tcp, 0.0.0.0:15673->15672/tcp, :::15673->15672/tcp rabbitmq
#進入rabbitmq
[root@bogon /]# docker exec -it rabbitmq /bin/bash
root@7a462270fd11:/#
開啟圖形管理界面
root@7a462270fd11:/# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@7a462270fd11:
rabbitmq_management
The following plugins have been configured:rabbitmq_managementrabbitmq_management_agentrabbitmq_prometheusrabbitmq_web_dispatch
Applying plugin configuration to rabbit@7a462270fd11...
The following plugins have been enabled:rabbitmq_managementstarted 1 plugins.
root@7a462270fd11:/#
在RabbitMQ容器成功啟動后,可以通過瀏覽器訪問其管理界面來監控和管理RabbitMQ實例。以下是如何打開RabbitMQ管理界面的步驟:
確認宿主機的IP地址或域名。如果您在本地部署,可以使用localhost或127.0.0.1。如果您在遠程服務器或虛擬機上部署,需要使用相應的IP地址或域名。
使用瀏覽器打開RabbitMQ管理界面。默認情況下,管理界面端口為15673。在瀏覽器地址欄輸入以下URL:
http://<宿主機IP地址>:15673
例如,如果您在本地部署,可以訪問:
http://localhost:15673
等待頁面加載完成。如果一切配置正確,您將看到RabbitMQ管理界面的登錄頁面。賬號密碼跟在服務器安裝是一樣的,也是guest。
docker操作rabbitMQ命令
停止RabbitMQ容器:docker stop rabbitmq啟動RabbitMQ容器:docker start rabbitmq查看節點狀態:docker exec rabbitmq rabbitmqctl status
docker操作rabbitMQ添加用戶和設置權限
跟直接在服務器安裝分配權限命令一致,只是添加了docker命令的操作。
添加用戶
docker exec rabbitmq rabbitmqctl add_user admin admin
設置用戶權限
#分配用戶操作權限
docker exec rabbitmq rabbitmqctl set_user_tags admin administrator
#添加用戶資源權限
docker exec rabbitmq rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
卸載RabbitMQ命令
先停止RabbitMQ
systemctl stop rabbitmq-server
查看并卸載rabbitmq安裝的相關列表
查看命令:yum list | grep rabbitmq卸載命令(直接執行即可):yum -y remove rabbitmq-server.noarch
查看并卸載erlang安裝的相關軟件包
查看命令:yum list | grep erlang卸載命令(直接執行即可):yum -y remove erlang-*
查找并刪除erlang相關文件
whereis erlang[root@Centos7 ~]# whereis erlang
erlang: /usr/lib64/erlang刪除上面查出的erlang相關文件:
[root@Centos7 ~]# rm -rf /usr/lib64/erlang
卸載完成。