主頁 >  其他 > RabbitMQ安裝及配置

RabbitMQ安裝及配置

2022-01-06 08:19:41 其他

文章目錄

  • 一、安裝RabbitMQ
    • (1)實驗環境
    • (2)實驗步驟
      • -安裝erlang
      • -使用瀏覽器訪問
  • 二、RabbitMQ的配置
    • (1)RabbitMQ命令介紹
      • -rabbitmqctl命令
      • -rabbitmq-server命令
      • -rabbitmq-plugins命令
    • (2)Web界面
      • -頁面介紹
      • -Admin用戶和虛擬主機管理
      • -系結虛擬主機和用戶

一、安裝RabbitMQ

(1)實驗環境

系統主機名ip使用的軟體包
Centos7.4RabbitMQ192.168.100.202rabbitmq-server-generic-unix-3.8.16.tar.xz otp_src_24.0-rc1.tar.gz

RabbitMQ版本對應圖:

**Centos7和Redhat7yum源配置地址:**https://www.rabbitmq.com/install-rpm.html#downloads

rabbitmq-server-generic-unix-3.8.16.tar.xz 下載地址: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.16/rabbitmq-server-generic-unix-3.8.16.tar.xz
在這里插入圖片描述

(2)實驗步驟

-安裝erlang

******(1)先做基礎配置
[root@Centos7 ~]# hostnamectl set-hostname rabbitMQ
[root@Centos7 ~]# su
[root@rabbitmq ~]# setenforce 0
setenforce: SELinux is disabled
[root@rabbitmq ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
mount: /dev/sr0 已經掛載或 /mnt 忙
       /dev/sr0 已經掛載到 /mnt 上
       
******(2)上傳軟體包進行安裝
[root@rabbitmq ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel  #先安裝依賴
,,,,,,
完畢!
[root@rabbitmq ~]# ll  #上傳兩個軟體包
總用量 113792
-rw-------. 1 root root      1264 112 18:27 anaconda-ks.cfg
-rw-r--r--  1 root root 100826747 79 22:57 otp_src_24.0-rc1.tar.gz
-rw-r--r--  1 root root  15688312 79 22:57 rabbitmq-server-generic-unix-3.8.16.tar.xz
[root@rabbitmq ~]# tar xf otp_src_24.0-rc1.tar.gz 
[root@rabbitmq ~]# cd otp_src_24.0-rc1
[root@rabbitmq otp_src_24.0-rc1]# ./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac && make &&make install   #編譯安裝
[root@rabbitmq otp_src_24.0-rc1]# vim /etc/profile  #配置環境變數
,,,,,,#在末尾添加
ERLANG_HOME=/usr/local/erlang 
PATH=$ERLANG_HOME/bin:$PATH 
export ERLANG_HOME 
export PATH
#保存退出
[root@rabbitmq otp_src_24.0-rc1]# source /etc/profile   #執行使配置生效
[root@rabbitmq otp_src_24.0-rc1]# erl   #輸入erl如果進入Eshell就說明安裝成功
Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]

Eshell V12.0  (abort with ^G)
1> 
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
       (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
^C
[root@rabbitmq otp_src_24.0-rc1]# cd
[root@rabbitmq ~]# xz -d rabbitmq-server-generic-unix-3.8.16.tar.xz    #因為是xz格式的壓縮包所以要先使用xz解壓一下
[root@rabbitmq ~]# tar xf rabbitmq-server-generic-unix-3.8.16.tar   #得到tar包再用tar解壓
[root@rabbitmq ~]# cp -rf rabbitmq_server-3.8.16/ /usr/local/   #移動目錄
[root@rabbitmq ~]# cd /usr/local/  
[root@rabbitmq local]# mv rabbitmq_server-3.8.16/ rabbitmq-3.8.16/    #修改名稱
[root@rabbitmq local]# cd rabbitmq-3.8.16/sbin/
[root@rabbitmq sbin]# ./rabbitmq-plugins enable rabbitmq_management   #開啟管理頁面插件
Enabling plugins on node rabbit@rabbitmq:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@rabbitmq...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.
[root@rabbitmq sbin]# echo $?    
0

******rabbitMQ的基礎命令
#啟動命令,該命令ctrl+c后會關閉服務 
./rabbitmq-server 
#在后臺啟動Rabbit 
./rabbitmq-server -detached 
#關閉服務 
./rabbitmqctl stop 
#關閉服務(kill) 找到rabbitmq服務的pid   [不推薦] 
ps -ef|grep rabbitmq 
kill -9 ****

******(3)添加管理員賬戶
[root@rabbitmq sbin]# ./rabbitmq-server -detached  #后臺啟動
[root@rabbitmq sbin]# netstat -anpt | grep 15672   #查看監聽埠,默認埠15672
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      32468/beam.smp   
[root@rabbitmq sbin]# ./rabbitmqctl add_user rabbitadmin 123123    #設定管理員,格式為./rabbitmqctl add_user 名稱 密碼
Adding user "rabbitadmin" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
[root@rabbitmq sbin]# echo $?
0
[root@rabbitmq sbin]# ./rabbitmqctl set_user_tags rabbitadmin administrator  #設定標簽,格式為./rabbitmqctl set_user_tags 用戶名 標簽,administrator 為管理員標簽,意思吧rabbitadmin設定為管理員
Setting tags for user "rabbitadmin" to [administrator] ...
[root@rabbitmq sbin]# echo $?
0

-使用瀏覽器訪問

在這里插入圖片描述

在這里插入圖片描述

二、RabbitMQ的配置

(1)RabbitMQ命令介紹

RabbitMQ的命令都在sbin目錄中:

[root@rabbitmq sbin]# ll
總用量 40
-rwxr-xr-x 1 root root 1245 79 23:07 rabbitmqctl
-rwxr-xr-x 1 root root  999 79 23:07 rabbitmq-defaults
-rwxr-xr-x 1 root root 1254 79 23:07 rabbitmq-diagnostics
-rwxr-xr-x 1 root root 7277 79 23:07 rabbitmq-env
-rwxr-xr-x 1 root root 1250 79 23:07 rabbitmq-plugins
-rwxr-xr-x 1 root root 1249 79 23:07 rabbitmq-queues
-rwxr-xr-x 1 root root 6382 79 23:07 rabbitmq-server
-rwxr-xr-x 1 root root 1250 79 23:07 rabbitmq-upgrade

-rabbitmqctl命令

命令作用
rabbitmqctl list_queues查看所有佇列資訊
rabbitmqctl stop_app關閉應用(關閉當前啟動的節點)
rabbitmqctl start_app啟動應用,和上述關閉命令配合使用,達到清空佇列的目的
rabbitmqctl reset從管理資料庫中移除所有資料,例如配置過的用戶和虛擬宿主, 洗掉所有持久化的訊息(這個命令要在rabbitmqctl stop_app之后使用),重置以后,用戶,虛擬vhost,都會清除
rabbitmqctl force_reset作用和rabbitmqctl reset一樣,區別是無條件重置節點,不管當前管理資料庫狀態以及集群的配置,如果資料庫或者集群配置發生錯誤才使用這個最后的手段
rabbitmqctl status節點狀態
rabbitmqctl add_user username password添加用戶
rabbitmqctl list_users列出所有用戶
rabbitmqctl list_user_permissions username列出用戶權限
rabbitmqctl change_password username newpassword修改密碼
rabbitmqctl add_vhost vhostpath創建虛擬主機
rabbitmqctl list_vhosts列出所有虛擬主機
rabbitmqctl set_permissions -p vhostpath username “." ".” “.*”設定用戶權限,后面的權限順序分別是配置、寫、讀
rabbitmqctl list_permissions -p vhostpath列出虛擬主機上的所有權限
rabbitmqctl clear_permissions -p vhostpath username清除用戶權限
rabbitmqctl -p vhostpath purge_queue blue清除佇列里的訊息
rabbitmqctl delete_user username洗掉用戶
rabbitmqctl delete_vhost vhostpath洗掉虛擬主機
  • 用戶管理相關
用戶管理包括增加用戶,洗掉用戶,查看用戶串列,修改用戶密碼, 相應的命令 
(1) 新增一個用戶 
rabbitmqctl add_user Username Password 
(2) 洗掉一個用戶 
rabbitmqctl delete_user Username 
(3) 修改用戶的密碼 
rabbitmqctl change_password Username Newpassword 
(4) 查看當前用戶串列 
rabbitmqctl list_users
  • 用戶角色分類
用戶角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他,
(1) 超級管理員(administrator) 
可登陸管理控制臺(啟用management plugin的情況下),可查看所有的資訊,并且可以對用戶,策略(policy)進行操作, 
(2) 監控者(monitoring) 
可登陸管理控制臺(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關資訊(行程數,記憶體使用情況,磁盤使用情況等) (3) 策略制定者(policymaker) 
可登陸管理控制臺(啟用management plugin的情況下), 同時可以對policy進行管理,但無法查看節點的相關資訊
(4) 普通管理者(management) 
僅可登陸管理控制臺(啟用management plugin的情況下),無法看到節點資訊,也無法對策略進行管理, 
(5) 其他 
無法登陸管理控制臺,通常就是普通的生產者和消費者, 
設定用戶角色的命令為:rabbitmqctl set_user_tags User Tag 
User為用戶名, Tag為角色名(對應于上面的administrator,monitoring,policymaker,management,或其他自定義名稱),
也可以給同一用戶設定多個角色,例如 rabbitmqctl set_user_tags hncscwc monitoring policymaker
  • 用戶權限
用戶權限指的是用戶對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

-rabbitmq-server命令

命令作用
./rabbitmq-server start啟動rabbitmq服務
./rabbitmq-server stop關閉rabbitmq服務
./rabbitmq-server restart重啟rabbitmq服務

-rabbitmq-plugins命令

命令作用
/rabbitmq-plugins enable啟用某個插件
./rabbitmq-plugins disable關閉某個插件

(2)Web界面

-頁面介紹

在這里插入圖片描述

注釋:

connections:無論生產者還是消費者,都需要與RabbitMQ建立連接后才可以完成訊息的生產和消費,在這里可以查看連接情況 
channels:通道,建立連接后,會形成通道,訊息的投遞獲取依賴通道, 
Exchanges:交換機,用來實作訊息的路由 
Queues:佇列,即訊息佇列,訊息存放在佇列中,等待消費,消費后被移除佇列,

-Admin用戶和虛擬主機管理

  • 添加用戶

在這里插入圖片描述

在這里插入圖片描述

  • 創建虛擬主機
為了讓各個用戶可以互不干擾的作業,RabbitMQ添加了虛擬主機(Virtual Hosts)的概念,其實就是一個獨立的訪問路徑,不同用戶使用不同路徑,各自有自己的佇列、交換機,互相不會影響,

在這里插入圖片描述
在這里插入圖片描述

-系結虛擬主機和用戶

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/404091.html

標籤:其他

上一篇:【回顧】IDEA 開發 SparkSQL 基礎編程

下一篇:基于MapReduce和協同過濾演算法的推薦系統研究

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more