在 CentOS7 上安裝 RabbitMQ 消息隊列中間件


RabbitMQ 是流行的開源消息隊列系統,是 AMQP(Advanced Message Queuing Protocol 高級消息隊列協議)的標准實現,用 erlang 語言開發。RabbitMQ 具有良好的性能和時效性,同時還能夠非常好的支持集群和負載部署,非常適合在較大規模的分布式系統中使用。

 

一、安裝 erlang

// 下載
rpm -Uvh ... (地址已不可訪問)
// 安裝
yum -y localinstall erlang-19.0.4-1.el7.centos.x86_64.rpm

安裝完成后再安裝 RabbitMQ。

 

二、安裝 RabbitMQ

1. 下載 rpm:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

2. 安裝:

yum -y localinstall rabbitmq-server-3.6.6-1.el7.noarch.rpm

3. 啟動

systemctl start rabbitmq-server.service

4. 查看狀態

systemctl status rabbitmq-server.service

如下則表示安裝成功:

5. 添加配置文件

上圖我們看到日志文件在:Logs: /var/log/rabbitmq/rabbit@....log

打開日志可以看到如下內容:

這里提示沒有找到配置文件,我們可以手動在這個目錄下添加一個:

// 跳轉目錄
cd /etc/rabbitmq
// 創建文件
vim rabbitmq.config

添加內容:

[{rabbit, [{loopback_users, []}]}].

重啟:

systemctl restart rabbitmq-server.service

 

三、開啟管理端

1. 啟動插件

rabbitmq-plugins enable rabbitmq_management

 2. 修改防火牆

// 開放管理端端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
// 開放服務器端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
// 重啟
firewall-cmd --reload

3. 訪問管理頁面

http://localhost:15672

RabbltMQ 默認的賬號 guest,密碼 guest。

該賬號只允許在本地訪問。

4. 配置遠程訪問

// 添加用戶
rabbitmqctl add_user admin admin123
// 添加權限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
// 賦予超級管理員角色
rabbitmqctl set_user_tags admin administrator

 

安裝到這里就結束了,以下是對 RabbitMQ 使用的一些知識擴展。

 

四、重置 RabbitMQ 配置

1. 關閉 RabbitMQ

rabbitmqctl stop_app

2. 重置

rabbitmqctl reset

3. 啟動 RabbitMQ

rabbitmqctl start_app

重置后,遠程用戶也會清除。需要重新配置遠程用戶。

 

五、其他命令

add_user <UserName> <Password>
delete_user <UserName>
change_password <UserName> <NewPassword>
list_users
add_vhost <VHostPath>
delete_vhost <VHostPath>
list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
clear_permissions [-p <VHostPath>] <UserName>
list_permissions [-p <VHostPath>]
list_user_permissions <UserName>
list_queues [-p <VHostPath>] [<QueueInfoItem> ...]
list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
list_bindings [-p <VHostPath>]
list_connections [<ConnectionInfoItem> ...]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM