RabbitMQ 3.7部署與基本配置


原文連接:http://www.linuxe.cn/post-455.html

系統環境:Centos7

erlang版本:21

RabbitMQ版本:3.7.8

 

一、下載和安裝erlang環境

由於RabbitMQ是erlang語言所開發,所以需要先安裝erlang環境。在erlang官方https://www.erlang-solutions.com/resources/download.html可以進行RPM包的下載和安裝,不過為了解決依賴關系,推薦安裝官方yum倉庫(還需要配置下EPEL的yum倉庫用於其他包的安裝)

1 wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
2 rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
3 yum install erlang

 

 

二、下載和安裝rabbitmq

在RabbitMQ官方http://www.rabbitmq.com/install-rpm.html#downloads進行RPM包的下載,然后安裝RPM包

1 yum install rabbitmq-server-3.7.8-1.el7.noarch.rpm

 

 

三、開啟RabbitMQ的Web訪問插件,最終效果如圖:

 

1 rabbitmq-plugins list  #查看插件情況
2 rabbitmq-plugins enable rabbitmq_management rabbitmq_management_agent  rabbitmq_web_dispatch  #安裝插件

 

 

rabbitmq1.png

 

四、啟動與關閉RabbitMQ服務

服務監聽在5672端口,而Web端是15672。直接運行rabbitmq-server命令可以讓服務在前台啟動,並且能看到日志信息等提示,當然更多情況我們都是后台啟動的

1 rabbitmq-server
2 rabbitmq-server -detached  #后台啟動

 

 

mqbuchong1.png

 

rabbitmq2.png

關閉RabbitMQ服務

1 rabbitmqctl stop

當然也可以通過腳本管理服務:

1 systemctl start rabbitmq-server.service

 

 

五、服務啟動后可以用瀏覽器訪問驗證

默認管理賬戶和密碼都是guset,不過這個時候應該會出現User can only log in via localhost 的提示,意思是說這個用戶默認只能通過本地登錄。修改配置文件可以解除該限制,讓RabbitMQ可以遠程登錄:

1 vi /etc/rabbitmq/rabbitmq.config  #該文件需要自行創建
2 [{rabbit, [{loopback_users, []}]}].  #增加一行,注意點號要保留
3  
4 systemctl restart rabbitmq-server.service

 

 

六、創建用戶與權限

登錄Web界面后在admin菜單里可以創建新的管理賬戶,與使用命令行效果是一樣的。主要需要注意的地方就是tags有以下幾種:

administrator:超級管理員,什么權限都有

monitoring:可以登錄控制台和查看節點信息,比如內存、進程數、磁盤使用等

policymaker:可以登錄控制台和制定策略,但是無法查看節點信息

management:僅能登錄控制台

其他:無法登錄控制台,一般是提供者和消費者

1 rabbitmqctl add_user admin RABBIT_PASSWORD  #創建一個用戶,密碼請自定義
2 rabbitmqctl set_permissions admin ".*" ".*" ".*"  #給新建的用戶配置權限、讀權限和寫權限
3 rabbitmqctl set_user_tags admin administrator  #用戶分組


rabbitmq3.png

 

在用戶表格Can access virtual hosts一列中可以看到新創建的用戶是no access的,這是說他沒有訪問虛擬機的權限,這里的虛擬機可以理解為數據庫,在右側找到virtual hosts點擊進去可以創建虛擬機和分配權限rabbitmq4.png

 

七、RabbitMQ的其他管理命令

RabbitMQ隊列管理命令,控制隊列開始或者停止工作,但是不會殺掉進程

1 rabbitmqctl start_app  #開始隊列工作
2 rabbitmqctl stop_app  #停止隊列工作

RabbitMQ用戶管理命令(上面已經有用到過)

1 rabbitmqctl add_user USERNAME PASSWORD  #創建用戶
2 rabbitmqctl del_user USERNAME  #刪除用戶
3 rabbitmqctl change_password USERNAME NEWPASSWORD  #修改用戶密碼
4 rabbitmqctl set_user_tags USERNAME TAGS  #設置用戶權限
5 rabbitmqctl set_permissions -p / USERNAME '.*' '.*' '.*'  #設置用戶允許訪問的虛擬機以及權限(數據庫)


免責聲明!

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



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