1. 程式人生 > >rabbitmq之後臺管理和使用者設定(三)

rabbitmq之後臺管理和使用者設定(三)

前言

前面介紹了erlang環境的安裝和rabbitmq環境安裝,接下來介紹rabbitmq的web管理和使用者設定。

啟用後臺管理外掛

通過後臺管理外掛我們可以動態監控mq的流量,建立使用者,佇列等。

  • 建立目錄
mkdir /etc/rabbitmq
  • 啟用外掛
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management

# 其會在/etc/rabbitmq目錄下建立一個enabled_plugins檔案,這是後臺管理的配置檔案。

rabbitmq的網頁管理的埠是15672,如果你是遠端操作伺服器,輸入http://ip:15672,發現連線不上,因為伺服器防火牆不允許這個埠遠端訪問;

# 將mq的tcp監聽埠和網頁管理埠都設定成允許遠端訪問

firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service
  • 管理介面介紹
# 輸入使用者名稱密碼登入後進入主介面
Overview:用來顯示流量,埠,節點等資訊,以及修改配置檔案;
Connections:顯示所有的TCP連線;
channels:顯示所有的通道連線;
exchanges:顯示所有的交換機以及建立刪除等;
queues:顯示所有的佇列以及建立刪除等;
admins:顯示所有的使用者以及使用者管理;

使用者設定

  • rabbitmq有一個預設的使用者名稱和密碼,guest和guest,但為了安全考慮,該使用者名稱和密碼只允許本地訪問,如果是遠端操作的話,需要建立新的使用者名稱和密碼;
# root許可權
rabbitmqctl add_user username passwd  //新增使用者,後面兩個引數分別是使用者名稱和密碼
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"  //新增許可權
rabbitmqctl set_user_tags username administrator  //修改使用者角色,將使用者設為管理員

注意:建立的新使用者預設角色為空。

使用者的角色說明

management:使用者可以訪問管理外掛
policymaker:使用者可以訪問管理外掛,並管理他們有權訪問的vhost的策略和引數。
monitoring:使用者可以訪問管理外掛,檢視所有連線和通道以及與節點相關的資訊。
administrator:使用者可以做任何監視可以做的事情,管理使用者,vhost和許可權,關閉其他使用者的連線,並管理所有vhost的政策和引數。

使用新增的賬戶遠端訪問後臺管理站點,將原來的賬號guest刪除;

使用者管理命令彙總

新建使用者:rabbitmqctl add_user username passwd
刪除使用者:rabbitmqctl delete_user username
改密碼: rabbimqctl change_password {username} {newpassword}
設定使用者角色:rabbitmqctl set_user_tags {username} {tag ...}

rabbitmqctl set_permissions -p / username ".*" ".*" ".*"  //新增許可權

許可權說明:

rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read}
Vhostpath:虛擬主機,表示該使用者可以訪問那臺虛擬主機;
user:使用者名稱。
Conf:一個正則表示式match哪些配置資源能夠被該使用者訪問。
Write:一個正則表示式match哪些配置資源能夠被該使用者設定。
Read:一個正則表示式match哪些配置資源能夠被該使用者訪問。
  • 虛擬主機

預設的使用者和佇列都是在/虛擬機器下。

# 建立一個虛擬主機
rabbitmqctl add_vhost vhost_name
# 刪除一個虛擬主機
rabbitmqctl delete_vhost vhost_name

常用檔案路徑

  • /usr/local/rabbitmq_server/var/log/rabbitmq/[email protected]:記錄rabbitmq執行日常的日誌

  • /usr/local/rabbitmq_server/var/log/rabbitmq/[email protected]:rabbitmq的崩潰報告

  • /usr/local/rabbitmq_server/etc/rabbitmq/rabbitmq.config:rabbitmq的配置檔案

  • /usr/local/rabbitmq_server/var/lib/rabbitmq/mnesia/[email protected]:rabbit訊息持久化檔案

注意:

如果相應路徑的檔案不存在就自己建立,如果是使用apt安裝或yum安裝那麼這些資料夾都被自動建立好了。

參考