RabbitMQ是一個開源的AMQP實現,伺服器端用Erlang語言編寫,支持多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用於在分散式系統中存儲轉發消息,在易用性、擴展性、高可用性等方面表現不俗。 簡 ...
RabbitMQ是一個開源的AMQP實現,伺服器端用Erlang語言編寫,支持多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用於在分散式系統中存儲轉發消息,在易用性、擴展性、高可用性等方面表現不俗。
## 安裝rabbitmq # 安裝依賴 yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto # 安裝或更新EPEL庫 yum -y install epel-release # 或: wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm # 安裝erlang 下載 https://bintray.com/rabbitmq/rpm/erlang # 註意el6 和 el7的區別 rpm -ivh erlang-21.1.2-1.el6.x86_64.rpm # centos6.5用el6 ## 檢查 erl # 進入erlang 出現:Erlang/OTP 21 [erts-10.1.2] [source] [64-bit]... halt(). # 退出 erlang netstat -nltp # 埠4369即是erlang的進程 # 安裝MQ 下載 # http://www.rabbitmq.com/download.html rpm -ivh rabbitmq-server-3.7.11-1.el6.noarch.rpm
簡單的服務啟動與停止
## 服務管理命令 service rabbitmq-server start # 啟動 service rabbitmq-server status # 狀態 service rabbitmq-server stop # 停止 rabbitmq-plugins enable rabbitmq_management # 啟用15672 web管理 ## 常用命令 rabbitmqctl # 幫助 rabbitmqctl status # 狀態 同上 rabbitmqctl stop # 停止服務 會將節點及應用程式同時關閉 # 由於同一節點可能運行除rabbitmq 其他erlang程式,停止整個節點是不可取的 rabbitmqctl stop_app # 保持25672不停 rabbitmqctl start_app # 啟動5672 和 15672
# 3.7.11 預設情況下guest用戶只能localhost訪問。
## 用戶管理 rabbitmqctl add_user admin 123456 # 添加用戶admin rabbitmqctl delete_user admin # 刪除用戶 rabbitmqctl change_password admin 111111 # 修改密碼 rabbitmqctl list_users # 查看用戶列表 rabbitmqctl set_user_tags admin administrator # 賦予管理員許可權
## 用戶角色 參考:
作者:dzgdp888
鏈接:https://www.jianshu.com/p/e3af4cf97820
來源:簡書
用戶角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。
(1) 超級管理員(administrator)
可登陸管理控制台(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,記憶體使用情況,磁碟使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。與administrator的對比,administrator能看到這些內容。
(4) 普通管理者(management)
僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。
(5) 其他
無法登陸管理控制台,通常就是普通的生產者和消費者。
## 以下博客都對操作RabbitMQ有詳細介紹。
# springboot操作RabbitMQ使用參考:https://www.cnblogs.com/ityouknow/p/6120544.html
# C# 操作RabbitMQ使用參考: https://www.cnblogs.com/richieyang/p/5492432.html
# Node.js操作RabbitMQ https://www.cnblogs.com/wukong-holmes/p/9306733.html