centos7 部署rabbitmq


1、安裝 Erlang

  就想我們編寫Java引用程序需要安裝 JDK一樣,安裝 RabbitMQ ,我們也需要安裝 Erlang 。

①、下載 erlang 安裝包

  將安裝包下載到 /home/erlang 目錄下。

1 wget http://www.erlang.org/download/otp_src_R16B02.tar.gz

②、解壓

1 tar -zxvf otp_src_R16B02.tar.gz

③、編譯安裝

  首先進入解壓的文件目錄,然后安裝如下插件

  接着設置編譯目錄為 /usr/local/erlang

  最后執行 make  和 make install 命令即可。

  全部命令步驟為:

1、cd otp_src_R16B02
2、yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel gtk2-devel binutils-devel 3、./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll 4、make 5、make install

④、配置環境變量

  通過 vim /etc/profile 命令進入文件,然后敲入如下代碼

  最后通過如下命令使環境變量生效:

source /etc/profile

⑤、驗證

  在任意目錄下輸入 erl 命令,出現如下情況,則 erlang 安裝成功:

報錯:
wx : wxWidgets not found, wx will NOT be usable 
解決方法:

wget https://netix.dl.sourceforge.net/project/wxwindows/3.0.1/wxWidgets-3.0.1.tar.bz2
 bzip2 -dkv wxWidgets-3.0.1.tar.bz2
 tar -xvf wxWidgets-3.0.1.tar
cd wxWidgets-3.0.1/
./configure --with-opengl --enable-debug --enable-unicode
make && make install

報錯:configure: error: OpenGL libraries not available
解決方法:

yum install mesa *

yum install freeglut*

解決報錯直接運行 make && make install 來安裝wxWidgets

然后在切換到erlang的安裝目錄下執行make && make install 來安裝erlang

2、安裝 RabbitMQ

①、下載安裝包

  創建 /home/rabbitmq 目錄,在該目錄下執行如下命令:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-3.1.5.tar.gz 

②、解壓

tar -zxvf rabbitmq-server-3.1.5.tar.gz

③、編譯安裝

1 cd rabbitmq-server-3.1.5 2 yum -y install xmlto 3 make 4 make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR=/opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man

  將rabbitmq編譯到/opt/mq/rabbitmq目錄。

④、開啟 web 插件

1 cd /opt/mq/rabbitmq/sbin 2 mkdir /etc/rabbitmq/ 3 ./rabbitmq-plugins enable rabbitmq_management

3、啟動和關閉RabbitMQ

1 啟動監控管理器:rabbitmq-plugins enable rabbitmq_management 2 關閉監控管理器:rabbitmq-plugins disable rabbitmq_management 3 啟動rabbitmq:rabbitmq-service start 4 關閉rabbitmq:rabbitmq-service stop 5 查看所有的隊列:rabbitmqctl list_queues 6 清除所有的隊列:rabbitmqctl reset 7 關閉應用:rabbitmqctl stop_app 8 啟動應用:rabbitmqctl start_app

  通過第 3 條命令啟動rabbitmq 服務,然后在瀏覽器上輸入 

ip:15672

  出現如下界面即可。其中 ip 是安裝 rabbitmq 的機器ip地址,15672 是rabbitmq的默認端口。

  ps:如果不能打開如下畫面,可能是防火牆沒有關閉。centos6 關閉防火牆命令:

關閉命令:  service iptables stop 
永久關閉防火牆:chkconfig iptables off
查看防火牆狀態:service iptables status

  默認用戶名和密碼都是 guest。我們可以用 guest 是不能登陸的,需要重新創建用戶並賦予角色,可參考鏈接:https://www.cnblogs.com/zongyl/p/5913808.html

默認用戶guest 只允許localhost登錄。

so... 我們自己建立用戶

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  hncscwc  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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM