RabbitMQ 訊息佇列 配置

丶小炒肉發表於2016-05-31

CentOS 7 x64  rabbitmq

 

 

一、CentOS 7 yum 新增epel 源

 

yum -y install epel-release

 

 

1、 yum -y install erlang

 

 

yum remove epel-release

 

 

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmq-server-generic-unix-3.5.1.tar.gz

 

tar zxvf rabbitmq-server-generic-unix-3.5.1.tar.gz

 

mv rabbitmq_server-3.5.1 /opt/local/rabbitmq

 

cd /opt/local/rabbitmq/sbin

 

./rabbitmq-server -detached               #後臺啟動

 

 

設定環境變數

 

vi /etc/profile

 

export PATH=$PATH:/opt/local/rabbitmq/sbin

 

 

source /etc/profile

 

 

 

cd /opt/local/rabbitmq/sbin

 

./rabbitmqctl stop                    #關閉rabbitmq

 

 

 

 

 

增加配置檔案,限制IP訪問

 

vi /etc/rabbitmq/rabbitmq-env.conf        #檔案預設不存在,需要自己建立

 

-------------------------------------------------------------------

RABBITMQ_NODENAME=jicki

RABBITMQ_NODE_IP_ADDRESS=127.0.0.1

RABBITMQ_NODE_PORT=5672

RABBITMQ_MNESIA_BASE=/opt/local/rabbitmq/data

--------------------------------------------------------------------

 

RABBITMQ_NODENAME                           #節點名稱

RABBITMQ_NODE_IP_ADDRESS                      #監聽IP

RABBITMQ_NODE_PORT                          #監聽埠

RABBITMQ_MNESIA_BASE                         #資料儲存路徑

儲存!

 

 

2、 開啟下rabbitmq-server的外掛(網頁管理外掛 , 可不執行):

 

/usr/sbin/rabbitmq-plugins enable rabbitmq_management

 

3、 重啟 rabbitmq-server 

 

service rabbitmq-server restart

 

 

4、驗證rabbitmq 的埠

 

netstat -plantup|grep 15672

 

netstat -plantup|grep 5672

 

 

其中5672為預設的rabbitmq監聽埠,15672埠為WEB介面訪問需要開啟的埠。

 

 

5、 WEB介面訪問

 

http://ip:15672/

 

預設帳號密碼為:guest/guest

 

 

6、新增使用者

 

rabbitmqctl命令新增使用者:

 

rabbitmqctl add_user jicki 123456

 

新增許可權:

rabbitmqctl set_user_tags jicki administrator

 

許可權有: 

1. administrator (管理員)       

可登陸管理控制檯(啟用management plugin的情況下),可檢視所有的資訊,並且可以對使用者,策略(policy)進行操作。    

 

 

 

2. management

使用者可以通過AMQP做的任何事外加:

列出自己可以通過AMQP登入的virtual hosts  

檢視自己的virtual hosts中的queues, exchanges 和 bindings

檢視和關閉自己的channels 和 connections

檢視有關自己的virtual hosts的“全域性”的統計資訊,包含其他使用者在這些virtual hosts中的活動。

 

 

 

3. monitoring           

可登陸管理控制檯(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程式數,記憶體使用情況,磁碟使用情況等)。

 

 

 

 

4. policymaker

可登陸管理控制檯(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框標識的部分)。

 

 

 

 

檢視已有使用者:

rabbitmqctl list_users

 

 

 

 

相關命令為:

 

(1) 設定使用者許可權

 

rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP

 

例:rabbitmqctl set_permissions -p "/" jicki ".*" ".*" ".*"

 

 

(2) 檢視(指定hostpath)所有使用者的許可權資訊

 

rabbitmqctl  list_permissions  [-p  VHostPath]

 

 

(3) 檢視指定使用者的許可權資訊

 

rabbitmqctl  list_user_permissions  User

 

 

(4)  清除使用者的許可權資訊

 

rabbitmqctl  clear_permissions  [-p VHostPath]  User

相關文章