RabbitMQ Centos7 安裝以及使用
1、Rabbit MQLinux 安裝
Centos7
Yum安裝socat
# yum -y install socat
下載erlang軟體包,本文使用erlang-19.0.4版本,下面給出下載連結
# wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
安裝erlang
# rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
安裝完成後執行erl命令,出現下圖則代表成功
最後安裝rabbitmq,下載地址如下
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
安裝.....
# rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
注意:如果是重灌請記得刪除/var/lib/rabbitmq目錄和/etc/rabbitmq目錄,否則可能服務會起不來
2、Rabbit MQ使用Linux
2.1 啟動rabbitmq
啟動命令 需要到一個其他路徑下執行哦
# systemctl start rabbitmq-server
或者使用:
rabbitmq-server -detached //啟動rabbitmq,-detached代表後臺守護程式方式啟動
檢視rabbitmq 啟動後的情況 ,如圖:
# rabbitmqctl status
其他相關命令
啟動服務:rabbitmq-server-detached【/usr/local/rabbitmq/sbin/rabbitmq-server -detached 】
檢視狀態:rabbitmqctl status【/usr/local/rabbitmq/sbin/rabbitmqctl status 】
關閉服務:rabbitmqctl stop【/usr/local/rabbitmq/sbin/rabbitmqctl stop 】
列出角色:rabbitmqctl list_users
2.2 配置網頁外掛:
首先建立目錄,否則可能報錯:
# mkdir /etc/rabbitmq
然後啟用外掛:
# rabbitmq-plugins enable rabbitmq_management
2.3 配置防火牆
配置linux 埠 15672 網頁管理 5672 AMQP埠:
# firewall-cmd --permanent --add-port=15672/tcp
# firewall-cmd --permanent --add-port=5672/tcp
# systemctl restart firewalld.service
Centos 7 的特性,需要註冊開放的埠進防火牆,並重啟防火牆。
2.4 web端管理介面
現在你在瀏覽器中輸入伺服器IP:15672就可以看到RabbitMQ的WEB管理頁面了,是不是很興奮,可是你沒有賬號密碼,別急
2.5 配置web端訪問賬號密碼和許可權
預設網頁是不允許訪問的,需要增加一個使用者修改一下許可權,程式碼如下:
//新增使用者,後面兩個引數分別是使用者名稱和密碼,我這都用superrd了
# rabbitmqctl add_user liuxing liuxing
# rabbitmqctl set_permissions -p / liuxing ".*" ".*" ".*" //新增許可權
# rabbitmqctl set_user_tags liuxing administrator //修改使用者角色
2.6 其他配置
開啟使用者遠端訪問
預設情況下,RabbitMQ的預設的guest使用者只允許本機訪問, 如果想讓guest使用者能夠遠端訪問的話,只需要將配置檔案中的loopback_users列表置為空即可,
如下:
{loopback_users, []}
另外關於新新增的使用者,直接就可以從遠端訪問的,如果想讓新新增的使用者只能本地訪問,可以將使用者名稱新增到上面的列表, 如只允許admin使用者本機訪問。
{loopback_users, ["admin"]}
RabbitMQ使用者角色及許可權控制
1.RabbitMQ的使用者角色分類:
none、management、policymaker、monitoring、administrator
2.RabbitMQ各類角色描述:
none
不能訪問management plugin
management
使用者可以通過AMQP做的任何事外加:
列出自己可以通過AMQP登入的virtual hosts
檢視自己的virtualhosts中的queues,exchanges 和 bindings
檢視和關閉自己的channels和 connections
檢視有關自己的virtualhosts的“全域性”的統計資訊,包含其他使用者在這些virtual hosts中的活動。
policymaker
management可以做的任何事外加:
檢視、建立和刪除自己的virtualhosts所屬的policies和parameters
monitoring
management可以做的任何事外加:
列出所有virtualhosts,包括他們不能登入的virtualhosts
檢視其他使用者的connections和channels
檢視節點級別的資料如clustering和memory使用情況
檢視真正的關於所有virtualhosts的全域性的統計資訊
administrator
policymaker和monitoring可以做的任何事外加:
建立和刪除virtualhosts
檢視、建立和刪除users
檢視建立和刪除permissions
關閉其他使用者的connections
3.建立使用者並設定角色:
可以建立管理員使用者,負責整個MQ的運維,例如:
$sudo rabbitmqctl add_user user_admin passwd_admin
賦予其administrator角色:
$sudo rabbitmqctl set_user_tags user_admin administrator
可以建立RabbitMQ監控使用者,負責整個MQ的監控,例如:
$sudo rabbitmqctl add_user user_monitoring passwd_monitor
賦予其monitoring角色:
$sudo rabbitmqctl set_user_tags user_monitoring monitoring
可以建立某個專案的專用使用者,只能訪問專案自己的virtual hosts
$sudo rabbitmqctl add_user user_proj passwd_proj
賦予其monitoring角色:
$sudo rabbitmqctl set_user_tags user_proj management
建立和賦角色完成後檢視並確認:
$sudo rabbitmqctl list_users
4.RabbitMQ許可權控制
預設virtual host:"/"
預設使用者:guest
guest具有"/"上的全部許可權,僅能有localhost訪問RabbitMQ包括Plugin,建議刪除或更改密碼。可通過將配置檔案中loopback_users置孔來取消其本地訪問的限制:
[{rabbit, [{loopback_users, []}]}]
使用者僅能對其所能訪問的virtualhosts中的資源進行操作。這裡的資源指的是virtual hosts中的exchanges、queues等,操作包括對資源進行配置、寫、讀。配置許可權可建立、刪除、資源並修改資源的行為,寫許可權可向資源傳送訊息,讀許可權從資源獲取訊息。比如:
exchange和queue的declare與delete分別需要exchange和queue上的配置許可權
exchange的bind與unbind需要exchange的讀寫許可權
queue的bind與unbind需要queue寫許可權exchange的讀許可權
發訊息(publish)需exchange的寫許可權
獲取或清除(get、consume、purge)訊息需queue的讀許可權
對何種資源具有配置、寫、讀的許可權通過正規表示式來匹配,具體命令如下:
set_permissions [-p <vhostpath>] <user> <conf> <write><read>
其中,<conf><write> <read>的位置分別用正規表示式來匹配特定的資源,如'^(amq\.gen.*|amq\.default)$'可以匹配server生成的和預設的exchange,'^$'不匹配任何資源
需要注意的是RabbitMQ會快取每個connection或channel的許可權驗證結果、因此許可權發生變化後需要重連才能生效。
為使用者賦權:
$sudo rabbitmqctl set_permissions -p /vhost1 user_admin '.*' '.*''.*'
該命令使使用者user_admin具有/vhost1這個virtual host中所有資源的配置、寫、讀許可權以便管理其中的資源
檢視許可權:
$sudo rabbitmqctl list_user_permissions user_admin
Listing permissions for user "user_admin" ...
/vhost1<span style="white-space:pre"> </span>.*<spanstyle="white-space:pre"> </span>.*<spanstyle="white-space:pre"> </span>.*
$sudo rabbitmqctl list_permissions -p /vhost1
Listing permissions in vhost "/vhost1" ...
user_admin<span style="white-space:pre"> </span>.*<span style="white-space:pre"></span>.*<span style="white-space:pre"></span>.*
更多關於RabbitMQ的參考資料:
RabbitMQ web介面操作的命令列工具 rabbitmqadmin
本文件百度雲分享地址:https://pan.baidu.com/s/1E_Cnb66SWhvup-3NOuM-ZQ 密碼:1vuf
好用記得點贊。
相關文章
- Centos7安裝RabbitMQCentOSMQ
- CentOS7下RabbitMQ服務安裝配置CentOSMQ
- RabbitMQ訊息佇列-Centos7下安裝RabbitMQ3.6.1MQ佇列CentOS
- RabbitMQ的安裝使用MQ
- Centos7、Erlang-21.3、RabbitMQ-3.8.0安裝CentOSMQ
- CentOS7下RabbitMQ3.7安裝與配置CentOSMQ
- centos7二進位制方式安裝rabbitmqCentOSMQ
- Centos7伺服器上RabbitMQ單機安裝CentOS伺服器MQ
- centos7 安裝memcached以及擴充套件CentOS套件
- [Open Source] RabbitMQ 安裝與使用MQ
- RabbitMQ安裝MQ
- 【RabbitMQ】安裝MQ
- 安裝RabbitMQMQ
- 【RabbitMQ】Linux安裝RabbitMQMQLinux
- CentOSmysql安裝以及使用CentOSMySql
- RabbitMQ 使用場景、安裝、工作模式MQ模式
- rabbitmq安裝使用問題彙總MQ
- 使用專業的訊息佇列產品rabbitmq之centos7環境安裝佇列MQCentOS
- 【Java】 一文搞懂 RabbitMQ 的重要概念以及安裝JavaMQ
- centos7中使用yum安裝NGINX安裝CentOSNginx
- CentOS7安裝PostgreSQL15以及PostGIS3.3CentOSSQLS3
- Ubantu 安裝 rabbitMQMQ
- docker 安裝 RabbitMQDockerMQ
- 如何安裝RabbitMQMQ
- Windows RabbitMQ安裝WindowsMQ
- Ubuntu 安裝 RabbitMQUbuntuMQ
- centOS安裝rabbitMQCentOSMQ
- Mac 安裝 RabbitMQMacMQ
- mac安裝rabbitmqMacMQ
- Docker安裝RabbitmqDockerMQ
- mongodb的安裝以及使用MongoDB
- github的安裝以及使用Github
- Genymotion的安裝以及使用
- centos7 yum安裝php5.6以及擴充套件CentOSPHP套件
- clickhouse for centos7安裝和使用初探CentOS
- CentOS7上安裝和使用DockerCentOSDocker
- RabbitMQ使用教程(一)RabbitMQ環境安裝配置及Hello World示例MQ
- Rabbitmq安裝與配置MQ