CentOS 6.5 中安裝 RabbitMQ -單機版

文章主要參考:CentOS安裝RabbitMQ

系統版本:CentOS 6.5
RabbitMQ-Server3.5.1

先執行:

[root@localhost app]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

1.安裝Elang (推薦後面的yum安裝)

wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc

添加RPMforge支持(64位)

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm  
//導入 key 
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt 
//安裝 RPMforge
rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm

安裝erlang

yum install erlang
如果yum出現“No module named yum”錯
誤,修改yum文件

vi /usr/bin/yum
!/usr/bin/python 修改爲 #!/usr/bin/python2.4

安裝完成後可以用erl命令查看是否安裝成功

erl -version

這裏寫圖片描述

2.安裝RabbitMQ Server

下載RabbitMQ Server

打開RabbitMQ的下載頁面,http://www.rabbitmq.com/download.html ,選擇對應平臺的二進制發行包下載;目前使用的是CentOS ,屬於與RHEL/Fedora相兼容的版本,下載針對RHEL的二進制版本(Binary)即可:
本例中RabbitMQ的版本是3.5.1,下載得到文件rabbitmq-server-3.5.1-1.noarch.rpm

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmq-server-3.5.1-1.noarch.rpm

安裝RabbitMQ Server

rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc 
yum install rabbitmq-server-3.5.1-1.noarch.rpm

3.啓動RabbitMQ

配置爲守護進程隨系統自動啓動,root權限下執行:

chkconfig rabbitmq-server on

啓動rabbitMQ服務

/sbin/service rabbitmq-server start

如果報如下異常:

Starting rabbitmq-server (via systemctl):  Job for rabbitmq-server.service failed. See 'systemctl status rabbitmq-server.service' and 'journalctl -xn' for details. [FAILED]

嘗試下面的操作:
禁用 SELinux ,修改 /etc/selinux/config
SELINUX=disabled
修改後重啓系統

配置修改 rabbitmq.config :

將/usr/share/doc/rabbitmq-server-3.5.1下面的 rabbitmq.config.example 複製到 /etc/rabbitmq/下面, 重命名爲 rabbitmq.config
這裏寫圖片描述

修改如下參數:

這裏寫圖片描述

修改後重啓

4.安裝Web管理界面插件

終端輸入:

rabbitmq-plugins enable rabbitmq_management

安裝成功後會顯示如下內容

The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

5.登錄Web管理界面

安裝好插件並開啓服務後,可以瀏覽器輸入localhost:15672,賬號密碼全輸入guest即可登錄。

這裏如果顯示找不到主機,請在hosts文件中添加

vi /etc/hosts

127.0.0.1  localhost

這裏需要注意下,從3.3.1版本開始,RabbitMQ默認不允許遠程ip登錄,即只能使用localhost登錄。如果希望遠程登錄,請添加用戶權限

6.設置RabbitMQ遠程ip登錄

由於賬號guest具有所有的操作權限,並且又是默認賬號,出於安全因素的考慮,guest用戶只能通過localhost登陸使用,並建議修改guest用戶的密碼以及新建其他賬號管理使用rabbitmq。

這裏我們以創建個root帳號,密碼root爲例,創建一個賬號並支持遠程ip訪問。

6.1 創建賬號

rabbitmqctl add_user root root

6.2 設置用戶角色

rabbitmqctl  set_user_tags  root  administrator

6.3 設置用戶權限

rabbitmqctl set_permissions -p "/" root ".*" ".*" ".*"

6.4 設置完成後可以查看當前用戶和角色(需要開啓服務)

rabbitmqctl list_users

這是你就可以通過其他主機的訪問RabbitMQ的Web管理界面了,訪問方式,瀏覽器輸入:serverip:15672。其中serverip是RabbitMQ-Server所在主機的ip。

這裏寫圖片描述

7.RabbitMQ常用操作:

7.1 用戶管理

用戶管理包括增加用戶,刪除用戶,查看用戶列表,修改用戶密碼。
1 新增一個用戶

rabbitmqctl  add_user  Username  Password

2 刪除一個用戶

rabbitmqctl  delete_user  Username

3 修改用戶的密碼

rabbitmqctl  change_password  Username  Newpassword

4 查看當前用戶列表

rabbitmqctl  list_users

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

7.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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章