1、安裝erlang環境
wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
2、安裝rabbitmq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
3、啟動rabbitmq服務,並查看運行狀態
啟動RabbitMQ
service rabbitmq-server start
查看RabbitMQ運行狀態,即配置文件
service rabbitmq-server status
查看已安裝插件
rabbitmq-plugins list
rabbitmq-plugins enable rabbitmq_management
4、開啟防火牆15672端口
讓某個端口鏈接外網需要聲明,否則外面鏈接不上,15672是給瀏覽器使用的,另外給python應用程序使用5672,也需要重復開啟端口。
firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload
5、修改rabbitmq.conf,使外部可以訪問
( 1 )文件備份
cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
( 2 )進入備份文件進行修改
cd /etc/rabbitmq
vim rabbitmq.config
( 3 )修改第64行內容,相當於取消注釋 ,開啟,外網鏈接模式。
設置外網鏈接端口
這里的意思是開放使用,rabbitmq默認創建的用戶guest,密碼也是guest,這個用戶默認只能用於本機訪問,或者在瀏覽器中訪問,如果想應用在程序中,則需要另外創建用戶。
另外,如果是應用程序鏈接RabbitMQ,默認端口是以下設置中的5672,而瀏覽器則是15672端口,
重啟服務器
service rabbitmq-server restart
6、 添加用戶
rabbitmqctl add_user lc lc 添加用戶
rabbitmqctl set_permissions -p "/" lc ".*" ".*" ".*" 權限設置
rabbitmqctl set_user_tags lc administrator 設計角色
rabbitmqctl set_user_tags hncscwc monitoring policymaker 設計多個角色
rabbitmqctl clear_permissions [-p VHostPath] User 刪除角色
rabbitmqctl list_user_permissions User 查看指定用戶權限
用戶角色
(1) 超級管理員(administrator)
可登陸管理控制台(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。
(4) 普通管理者(management)
僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。
(5) 其他
無法登陸管理控制台,通常就是普通的生產者和消費者。
用戶添加可參考文章 https://www.cnblogs.com/AloneSword/p/4200051.html
7、 其他命令
rabbitmqctl add_user <UserName> <Password> 添加用戶 rabbitmqctl delete_user <UserName> 刪除用戶 rabbitmqctl change_password <UserName> <NewPassword> 修改密碼 rabbitmqctl list_users 查看已有用戶
rabbitmqctl add_vhost <VHostPath> rabbitmqctl delete_vhost <VHostPath> rabbitmqctl list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp> rabbitmqctl clear_permissions [-p <VHostPath>] <UserName> rabbitmqctl list_permissions [-p <VHostPath>] rabbitmqctl list_user_permissions <UserName> rabbitmqctl list_queues [-p <VHostPath>] [<QueueInfoItem> ...] rabbitmqctl list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...] rabbitmqctl list_bindings [-p <VHostPath>] rabbitmqctl list_connections [<ConnectionInfoItem> ...]
8、 瀏覽器管理
( 1 ) 作用
在瀏覽器中可以進行后台管理,類似admin,對RabbitMQ進行增刪改查用戶等操作。
( 2 ) 開啟瀏覽器訪問模式,需要啟動以下插件
rabbitmq-plugins enable rabbitmq_management
( 3 ) 在瀏覽器中訪問
http://192.168.0.108:15672 # 其中192.168.0.108是配置的centerOS的ip地址,端口號是瀏覽器訪問默認端口
( 4 ) 在頁面中進行增刪改操作
9 、卸載
rabbitmq是運行在erlang環境下的,所以卸載時應將erlang卸載。
1、卸載rabbitmq相關
卸載前先停掉rabbitmq服務,執行命令
$ service rabbitmq-server 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
卸載完之后就可以重新安裝了
10、 文章參考
文章1 https://www.cnblogs.com/uptothesky/p/6094357.html