Mac 安裝及設定 rabbitmq
1、安裝
在Mac下安裝RabbitMQ是非常簡單的,一般預設RabbitMQ伺服器依賴的Erlang已經安裝,只需要用下面兩個命令就可以完成RabbitMQ的安裝(前提是homebrew已經被安裝):
brew update
brew install rabbitmq
耐心等待,安裝完成後需要將/usr/local/sbin新增到$PATH,可以將下面這兩行加到~/.bash_profile:
# RabbitMQ Config
export PATH=$PATH:/usr/local/sbin
編輯完後:wq儲存退出,使環境變數立即生效。
source ~/.bash_profile
2、啟動RabbitMQ服務
上面配置完成後,需要關閉終端視窗,重新開啟,然後輸入下面命令即可啟動RabbitMQ服務:
rabbitmq-server
3、登入Web管理介面
瀏覽器輸入localhost:15672
,賬號密碼全輸入guest即可登入。
Web管理介面
這裡如果顯示找不到主機,請在hosts檔案中新增
vi /private/etc/hosts
127.0.0.1 localhost
這裡需要注意下,從3.3.1版本開始,RabbitMQ預設不允許遠端ip登入,即只能使用localhost登入。如果希望遠端登入,請新增使用者許可權
4、設定RabbitMQ
由於賬號guest具有所有的操作許可權,並且又是預設賬號,出於安全因素的考慮,guest使用者只能通過localhost登陸使用,並建議修改guest使用者的密碼以及新建其他賬號管理使用rabbitmq。
這裡我們以建立個test帳號,密碼123456為例,建立一個賬號並支援遠端ip訪問。
- 建立賬號
rabbitmqctl add_user test 123456
- 設定使用者角色
rabbitmqctl set_user_tags test administrator
- 設定使用者許可權
rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"
- 設定完成後可以檢視當前使用者和角色(需要開啟服務)
rabbitmqctl list_users
這是你就可以通過其他主機的訪問RabbitMQ的Web管理介面了,訪問方式,瀏覽器輸入:serverip:15672
。其中serverip是RabbitMQ-Server所在主機的ip。
RabbitMQ常用操作:
1、使用者管理
使用者管理包括增加使用者,刪除使用者,檢視使用者列表,修改使用者密碼。
(1) 新增一個使用者
rabbitmqctl add_user Username Password
(2) 刪除一個使用者
rabbitmqctl delete_user Username
(3) 修改使用者的密碼
rabbitmqctl change_password Username Newpassword
(4) 檢視當前使用者列表
rabbitmqctl list_users
2、 使用者角色
按照個人理解,使用者角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。
(1) 超級管理員(administrator)
可登陸管理控制檯(啟用management plugin的情況下),可檢視所有的資訊,並且可以對使用者,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制檯(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程序數,記憶體使用情況,磁碟使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制檯(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框標識的部分)。與administrator的對比,administrator能看到這些內容。
(4) 普通管理者(management)
僅可登陸管理控制檯(啟用management plugin的情況下),無法看到節點資訊,也無法對策略進行管理。
(5) 其他
無法登陸管理控制檯,通常就是普通的生產者和消費者。
瞭解了這些後,就可以根據需要給不同的使用者設定不同的角色,以便按需管理。
設定使用者角色的命令為:
rabbitmqctl set_user_tags User Tag
User為使用者名稱, Tag為角色名(對應於上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。
也可以給同一使用者設定多個角色,例如
rabbitmqctl set_user_tags username monitoring policymaker
3、使用者許可權
使用者許可權指的是使用者對exchange,queue的操作許可權,包括配置許可權,讀寫許可權。配置許可權會影響到exchange,queue的宣告和刪除。讀寫許可權影響到從queue裡取訊息,向exchange傳送訊息以及queue和exchange的繫結(bind)操作。
例如: 將queue繫結到某exchange上,需要具有queue的可寫許可權,以及exchange的可讀許可權;向exchange傳送訊息需要具有exchange的可寫許可權;從queue裡取資料需要具有queue的可讀許可權。詳細請參考官方文件中"How permissions work"部分。
相關命令為:
(1) 設定使用者許可權
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
(2) 檢視(指定hostpath)所有使用者的許可權資訊
rabbitmqctl list_permissions [-p VHostPath]
(3) 檢視指定使用者的許可權資訊
rabbitmqctl list_user_permissions User
(4) 清除使用者的許可權資訊
rabbitmqctl clear_permissions [-p VHostPath] User