操作系統(tǒng):Centos7
需要準(zhǔn)備rpm包:
將安裝包上傳到目錄下,(一般是/usr/local/rabbitmq)
2、開(kāi)始安裝
1、rabbitmq是用erlang寫(xiě)的,所以需要先裝erlang。
安裝erlang:yum install -y ./erlang-21.3.8.2-1.el7.x86_64.rpm
測(cè)試是否安裝成功:erl -v

2、安裝rabbitmq:yum install -y ./rabbitmq-server-3.7.15-1.el7.noarch.rpm
出現(xiàn)類似:socat-1.7.3.2-2.el7.x86_64: [Errno 256] No more mirrors to try 的錯(cuò)誤
這時(shí)需要裝一個(gè)socat:yum install -y ./socat-1.7.3.2-2.el7.x86_64.rp
然后在裝rabbitmq就可以了
3、啟動(dòng)mq
sudo rabbitmq-server start 前臺(tái)啟動(dòng)mq
sudo rabbitmq-server -detached 后臺(tái)啟動(dòng)mq
4、啟用webUI插件:執(zhí)行命令 sudo rabbitmq-plugins enable rabbitmq_management
5、可以在本機(jī)瀏覽器輸入 http://localhost:15672 訪問(wèn)rabbitmq主頁(yè),賬戶 guest 密碼 guest ,此處這個(gè)默認(rèn)賬號(hào),只能本機(jī)登錄,這時(shí)可以創(chuàng)建一個(gè)用戶,其他人可以通過(guò)這個(gè)用戶訪問(wèn)。
6、創(chuàng)建用戶:rabbitmqctl add_user admin admin123 (這里的admin是用戶名,admin123是密碼 ,可自行修改)
7、設(shè)置角色:rabbitmqctl set_user_tags admin administrator
8、設(shè)置默認(rèn)vhost(“/”)訪問(wèn)權(quán)限 rabbitmqctl set_permissions -p “/” admin “.” “.” “.*”
9、查看admin賬戶的權(quán)限: 執(zhí)行命令 rabbitmqctl list_user_permissions admin
此時(shí)可以在登錄http://localhost:15672 ,這里的localhost可以替換未安裝位置的id,用戶使用admin,如果啟動(dòng)沒(méi)問(wèn)題,但是訪問(wèn)不通,這時(shí)應(yīng)該看一下防火墻,
systemctl status firewalld.service 查看防火墻狀態(tài)
firewall-cmd --zone=public --add-port=15672/tcp --permanent 開(kāi)15672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent 開(kāi)5672端口
參數(shù):permanent 表示永久生效,沒(méi)有此參數(shù)重啟后失效
或者把防火墻關(guān)掉:
sudo systemctl stop firewalld.service 關(guān)閉運(yùn)行的防火墻
默認(rèn)端口:
web管理插件端口:15672
程序訪問(wèn)接口:5672
3、設(shè)置RabbitMq開(kāi)機(jī)自啟
使用yum安裝的,可以直接輸入命令:
chkconfig rabbitmq-server on

4、rabbitmq常用命令
#應(yīng)用管理
$ rabbitmqctl status //顯示RabbitMQ中間件的所有信息
$ rabbitmqctl stop //停止RabbitMQ應(yīng)用,關(guān)閉節(jié)點(diǎn)
$ rabbitmqctl stop_app //停止RabbitMQ應(yīng)用
$ rabbitmqctl start_app //啟動(dòng)RabbitMQ應(yīng)用
$ rabbitmqctl restart //重置RabbitMQ節(jié)點(diǎn)
$ rabbitmqctl force_restart //強(qiáng)制重置RabbitMQ節(jié)點(diǎn)
#用戶管理
$ rabbitmqctl add_user username password //添加用戶
$ rabbitmqctl delete_user username //刪除用戶
$ rabbitmqctl change_password username newpassword //修改密碼
$ rabbitmqctl list_users //列出所有用戶
# 權(quán)限控制管理
$ rabbitmqctl add_vhost vhostpath //創(chuàng)建虛擬主機(jī)
$ rabbitmqctl delete_vhost vhostpath //刪除虛擬主機(jī)
$ rabbitmqctl list_vhosts //列出所有虛擬主機(jī)
$ rabbitmqctl set_permissions [-p vhostpath] username <conf> <write> <read> //設(shè)置用戶權(quán)限
$ rabbitmqctl clear_permissions [-p vhostpath] username //刪除用戶權(quán)限
$ rabbitmqctl list_permissions [-p vhostpath] //列出虛擬機(jī)上的所有權(quán)限
$ rabbitmqctl list_user_permissions username //列出用戶權(quán)限
# 集群管理
$ rabbitmqctl cluster_status //獲得集群配置信息
$ rabbitmqctl join_cluster rabbit@localhost --ram | --disc //加入到rabbit節(jié)點(diǎn)中,使用內(nèi)存模式或者磁盤模式
$ rabbitmqctl change_cluster_node_type disc | ram //修改存儲(chǔ)模式
$ rabbitmqctl set_cluster_name newname //修改名字
# 查看管理
$ rabbitmqctl list_queues [-p <vhostpath>] //查看所有隊(duì)列
$ rabbitmqctl list_exchanges [-p <vhostpath>] //查看所有交換機(jī)
$ rabbitmqctl list_bindings [-p <vhostpath>] //查看所有綁定
$ rabbitmqctl list_connections //查看所有連接
$ rabbitmqctl list_channels //查看所有信道
$ rabbitmqctl list_consumers //查看所有消費(fèi)者信息