1. 程式人生 > >RabbitMQ 安裝、配置和使用者管理(CentOS、SUSE)

RabbitMQ 安裝、配置和使用者管理(CentOS、SUSE)

安裝步驟(rpm包安裝): 下載rpm並安裝:
  • CentOs:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc yum install rabbitmq-server-3.6.1-1.noarch.rpm (會提示下載和安裝erlang等依賴包)
  • SUSE:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.suse.noarch.rpm zypper install rabbitmq-server-3.6.1-1.suse.noarch.rpm (會提示下載和安裝erlang等依賴包)
啟動:
service rabbitmq-server start/stop/status 註冊為開機啟動:chkconfig rabbitmq-server on 預設的log路徑: /var/log/rabbitmq 檢視狀態: rabbitmqctl status 可以檢視到預設監聽埠: {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]}, 配置檔案: 環境變數配置:vi /etc/rabbitmq/rabbitmq-env.conf RabbitMQ配置:vi /etc/rabbitmq/rabbitmq.config 使用者管理: 新建使用者:rabbitmqctl add_user <user> pwd
刪除使用者:   rabbitmqctl delete_user <user> 檢視使用者列表:rabbitmqctl  list_users 使用者許可權: 檢視所有使用者的許可權:rabbitmqctl list_permissions 設定使用者許可權:rabbitmqctl set_permissions <user> '.*' '.*' '.*'   (<conf> <write> <read>,正則表示式,'.*'表示所有許可權) 清除使用者許可權:rabbitmqctl  clear_permissions <user>
各類角色:
  • none
    1. 不能訪問 management plugin 
  • management
  1. 使用者可以通過AMQP做的任何事外加: 
  2. 列出自己可以通過AMQP登入的virtual hosts   
  3. 檢視自己的virtual hosts中的queues, exchanges 和 bindings 
  4. 檢視和關閉自己的channels 和 connections 
  5. 檢視有關自己的virtual hosts的“全域性”的統計資訊,包含其他使用者在這些virtual hosts中的活動。 
policymaker
  1. management可以做的任何事外加: 
  2. 檢視、建立和刪除自己的virtual hosts所屬的policies和parameters 
monitoring
  1. management可以做的任何事外加:
  2. 列出所有virtual hosts,包括他們不能登入的virtual hosts
  3. 檢視其他使用者的connections和channels
  4. 檢視節點級別的資料如clustering和memory使用情況
  5. 檢視真正的關於所有virtual hosts的全域性的統計資訊
administrator
  1. policymaker和monitoring可以做的任何事外加:
  2. 建立和刪除virtual hosts
  3. 檢視、建立和刪除users
  4. 檢視建立和刪除permissions
  5. 關閉其他使用者的connections
設定使用者角色:rabbitmqctl  set_user_tags<user> [administrator | monitoring | policymaker | management] 啟用RabbitMQWeb管理外掛: rabbitmq-plugins enable rabbitmq_management 訪問:http://<server-name>:15672/ 開啟CentOS防火牆: firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload 另外:不支援rpm包的linux系統,可以直接解壓rabbitmq-server-generic-unix-xxx.tar.xz檔案: 下載後直接解壓: xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz tar -xvf rabbitmq-server-generic-unix-3.6.1.tar 建立一個軟連線: ln -s rabbitmq_server-3.6.1 rabbitmq 啟動: cd rabbitmq_server-3.6.1 (或使用軟連線:cd rabbitmq) sbin/rabbitmq-server -detached 或:service rabbitmq-server start/stop/start/status 修改開機啟動指令碼:vi/etc/init.d/boot.local /opt/app/rabbitmq_server-3.6.1/sbin/rabbitmq-server  -detached 或:註冊為開機啟動:chkconfig rabbitmq-server on 可能需要先安裝下面的依賴包: 安裝Erlang: wget http://erlang.org/download/otp_src_18.3.tar.gz tar -zxvf otp_src_18.3.tar.gz cd otp_src_18.3 export ERL_TOP=`pwd` ./configure (注:如果提示找不到curses library錯誤,需要先安裝ncurses) make make install 預設安裝路徑: /usr/local/bin/erl 執行命令:erl 安裝ncurses: tar zxvf ncurses-5.9.tar.gz cd ncurses-5.9 ./configure --with-shared  --prefix=/usr make make install