亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Ubuntu環(huán)境下的 RabbitMQ 安裝與配置詳細(xì)指南

 更新時(shí)間:2025年09月09日 10:50:59   作者:愛(ài)吃烤雞翅的酸菜魚(yú)  
本文詳解Ubuntu下RabbitMQ安裝與配置,涵蓋Erlang依賴安裝、服務(wù)部署、管理界面啟用及安全用戶權(quán)限設(shè)置,強(qiáng)調(diào)多協(xié)議支持、高可用性設(shè)計(jì)和分布式場(chǎng)景適配,助力構(gòu)建穩(wěn)定可靠的消息隊(duì)列系統(tǒng),感興趣的朋友跟隨小編一起看看吧

1.前言

在分布式系統(tǒng)架構(gòu)中,消息隊(duì)列作為實(shí)現(xiàn)異步通信、服務(wù)解耦與流量削峰的關(guān)鍵組件,其選型直接影響系統(tǒng)的可靠性與擴(kuò)展性。RabbitMQ 作為一款開(kāi)源消息代理軟件,憑借其輕量級(jí)架構(gòu)、高可用性設(shè)計(jì)及靈活的路由策略,已成為解決分布式場(chǎng)景下通信難題的優(yōu)選方案。它能夠有效隔離服務(wù)依賴,通過(guò)異步處理機(jī)制提升系統(tǒng)吞吐量,尤其在微服務(wù)架構(gòu)中展現(xiàn)出顯著優(yōu)勢(shì)。

核心價(jià)值亮點(diǎn)

  • 多協(xié)議支持:原生兼容 AMQP 0-9-1、STOMP 等主流消息協(xié)議,可無(wú)縫對(duì)接多樣化客戶端環(huán)境
  • 場(chǎng)景適應(yīng)性:廣泛應(yīng)用于電商訂單異步處理(如支付結(jié)果通知、庫(kù)存扣減)、分布式日志收集(多節(jié)點(diǎn)日志聚合)、實(shí)時(shí)數(shù)據(jù)管道等關(guān)鍵業(yè)務(wù)場(chǎng)景

本文聚焦在Ubuntu下RabbitMQ安裝與配置教程,旨在幫助讀者快速構(gòu)建穩(wěn)定可用的消息隊(duì)列服務(wù)。

2.正文

2.1介紹RabbitMQ

RabbitMQ是一款基于高級(jí)消息隊(duì)列協(xié)議(AMQP)的開(kāi)源消息代理軟件,也常被稱為面向消息的中間件,其核心功能是作為應(yīng)用程序間的通信中介,實(shí)現(xiàn)分布式系統(tǒng)中可靠且高效的異步消息傳遞.作為部署最廣泛的開(kāi)源消息代理之一,RabbitMQ支持多種消息協(xié)議(如AMQP、MQTT、STOMP等),提供靈活的隊(duì)列路由、交付確認(rèn)機(jī)制和多種交換類型,能夠滿足分布式系統(tǒng)的異步處理、負(fù)載均衡與組件集成需求。其服務(wù)器端基于Erlang編程語(yǔ)言開(kāi)發(fā),依托Open Telecom Platform框架實(shí)現(xiàn)集群和故障轉(zhuǎn)移能力,可部署于分布式環(huán)境及云平臺(tái),并為所有主要編程語(yǔ)言提供客戶端庫(kù)支持。

核心概念解析

RabbitMQ的消息傳遞模型基于以下關(guān)鍵組件構(gòu)建,各組件協(xié)同實(shí)現(xiàn)消息的可靠路由與處理:

  • 生產(chǎn)者(Producer):消息的發(fā)送方,負(fù)責(zé)將業(yè)務(wù)數(shù)據(jù)封裝為消息并發(fā)送至RabbitMQ服務(wù)器。
  • 消費(fèi)者(Consumer):消息的接收方,持續(xù)監(jiān)聽(tīng)隊(duì)列并處理接收到的消息,實(shí)現(xiàn)業(yè)務(wù)邏輯的異步執(zhí)行。
  • 交換機(jī)(Exchange):消息進(jìn)入RabbitMQ后的第一站,根據(jù)預(yù)設(shè)的路由規(guī)則(如路由鍵、交換機(jī)類型)將消息分發(fā)至一個(gè)或多個(gè)隊(duì)列。
  • 隊(duì)列(Queue):消息的存儲(chǔ)容器,按照FIFO(先進(jìn)先出)原則暫存消息,直至被消費(fèi)者取出處理,隊(duì)列是RabbitMQ中消息的最終落腳點(diǎn)。
  • 綁定(Binding):定義交換機(jī)與隊(duì)列之間的關(guān)聯(lián)規(guī)則,包含路由鍵(Routing Key)等參數(shù),決定交換機(jī)如何將消息路由至綁定的隊(duì)列。

核心特性總結(jié):RabbitMQ憑借跨平臺(tái)兼容性、多協(xié)議支持(AMQP/MQTT/STOMP)、分布式部署能力及豐富的消息模式(點(diǎn)對(duì)點(diǎn)、發(fā)布/訂閱、請(qǐng)求/回復(fù)等),成為構(gòu)建高可用、可擴(kuò)展分布式系統(tǒng)的關(guān)鍵中間件。其基于Erlang的架構(gòu)天然支持高并發(fā)與故障轉(zhuǎn)移,適用于從電子商務(wù)交易處理到社交媒體數(shù)據(jù)流等多樣化場(chǎng)景。

2.2正式安裝

2.2.1安裝Erlang

RabbitMQ作為基于Erlang語(yǔ)言開(kāi)發(fā)的消息隊(duì)列系統(tǒng),所以說(shuō)需要提前安裝erlang。以下是詳細(xì)的安裝流程:

版本兼容性要求

不同版本的RabbitMQ對(duì)Erlang存在嚴(yán)格的版本依賴,版本不匹配將導(dǎo)致服務(wù)啟動(dòng)失敗。根據(jù)官方規(guī)范:

  • RabbitMQ 4.0.x 要求最低Erlang 26,最高支持27.2.x版本7;
  • RabbitMQ 3.13.x 需Erlang 26及以上,最高支持26.2.x8;
  • RabbitMQ 3.12.x 要求Erlang 25及以上,最高支持26.1.x9。

安裝前需確認(rèn)目標(biāo)RabbitMQ版本對(duì)應(yīng)的Erlang版本范圍,建議選擇官方推薦的最新兼容版本以獲得最佳穩(wěn)定性。

更新軟件包:

sudo apt-get update

安裝erlang:

sudo apt-get install erlang

查看erlang版本:

erl

退出命令:

halt().

2.2.2安裝RabbitMQ

在已完成Erlang環(huán)境配置的基礎(chǔ)上,開(kāi)始安裝RabbitMQ。

更新軟件包:

sudo apt-get update

安裝rabbitMQ:

sudo apt-get install rabbitmq-server

確認(rèn)安裝結(jié)果:

systemctl status rabbitmq-server

2.2.3安裝RabbitMQ管理界面

默認(rèn)安裝是不安裝管理界面的,RabbitMQ管理界面是其核心擴(kuò)展功能,通過(guò)插件機(jī)制提供Web-based管理UI,可實(shí)現(xiàn)隊(duì)列監(jiān)控、用戶管理、策略配置等關(guān)鍵運(yùn)維操作。具體操作如下:

rabbitmq-plugins enable rabbitmq_management

2.2.4啟動(dòng)服務(wù)并訪問(wèn)

2.2.4.1啟動(dòng)服務(wù)

RabbitMQ 服務(wù)在 Ubuntu 24.04 系統(tǒng)中通過(guò) systemd 系統(tǒng)服務(wù)管理器進(jìn)行管理,需通過(guò)專用命令完成啟動(dòng)、開(kāi)機(jī)自啟配置及運(yùn)行狀態(tài)驗(yàn)證。以下為關(guān)鍵操作流程及說(shuō)明:

sudo service rabbitmq-server start

該操作會(huì)加載 RabbitMQ 核心組件及默認(rèn)配置,適用于首次安裝后或服務(wù)停止后的手動(dòng)激活場(chǎng)景1

為避免服務(wù)器重啟后需手動(dòng)啟動(dòng)服務(wù),需配置開(kāi)機(jī)自啟,通過(guò)以下命令將服務(wù)注冊(cè)至系統(tǒng)啟動(dòng)項(xiàng):

sudo systemctl enable rabbitmq-server

此配置會(huì)在系統(tǒng)初始化階段自動(dòng)加載 RabbitMQ 服務(wù),確保服務(wù)持久性可用。部分安裝源指出,RabbitMQ 可能默認(rèn)已配置開(kāi)機(jī)自啟,建議執(zhí)行該命令進(jìn)行顯式確認(rèn)。

2.2.4.2通過(guò)IP:port訪問(wèn)界面

在瀏覽器中輸入以下 URL 并提供相應(yīng)的用戶名和密碼:

http://your_server_ip:15672/

默認(rèn)用戶名和密碼都是guest。用云服務(wù)器配置需要注意,要去云服務(wù)器的控制臺(tái),找到安全組  在里面開(kāi)放對(duì)應(yīng)的端口。

生產(chǎn)環(huán)境安全警示:絕對(duì)禁止將授權(quán)對(duì)象設(shè)置為 0.0.0.0/0(開(kāi)放所有 IP 訪問(wèn))。應(yīng)通過(guò) IP 白名單 限制僅允許管理員或應(yīng)用服務(wù)器的 IP 段訪問(wèn),例如企業(yè)內(nèi)網(wǎng) IP 段(如 10.0.0.0/8)或特定辦公網(wǎng)絡(luò) IP,以降低未授權(quán)訪問(wèn)風(fēng)險(xiǎn)。

2.2.4.3添加管理員用戶并登錄

RabbitMQ 默認(rèn)創(chuàng)建的 guest 用戶存在登錄限制,僅允許通過(guò)本地(localhost)訪問(wèn),無(wú)法滿足遠(yuǎn)程管理需求。為實(shí)現(xiàn)安全的遠(yuǎn)程訪問(wèn),需創(chuàng)建自定義管理員用戶并配置完整權(quán)限,具體步驟如下:

創(chuàng)建管理員用戶

使用 rabbitmqctl add_user 命令創(chuàng)建用戶,語(yǔ)法為 rabbitmqctl add_user <用戶名> <密碼>。以創(chuàng)建用戶名為 admin、密碼為 admin 的管理員為例:

rabbitmqctl add_user admin admin

給用戶添加權(quán)限

通過(guò) set_user_tags 命令為用戶分配 administrator 角色,賦予其最高管理權(quán)限:

rabbitmqctl set_user_tags admin administrator

該操作確保用戶具備管理 RabbitMQ 集群、虛擬主機(jī)、用戶及權(quán)限的全部功能。

RabbitMQ 中的六種主要角色及其功能

 1.guest

  • 描述:默認(rèn)創(chuàng)建的角色,通常用于測(cè)試或臨時(shí)用途。
  • 權(quán)限:只讀權(quán)限,可以查看隊(duì)列、交換機(jī)等信息,但不能進(jìn)行修改或刪除操作。
  • 用途:主要用于測(cè)試環(huán)境或臨時(shí)用戶,確保不會(huì)對(duì)生產(chǎn)環(huán)境造成影響。

2.user

  • 描述:一個(gè)典型的用戶角色,具有更多的權(quán)限。
  • 權(quán)限:可以創(chuàng)建和刪除隊(duì)列、交換機(jī)、綁定等,也可以發(fā)送和接收消息。
  • 用途:適用于開(kāi)發(fā)和測(cè)試環(huán)境中的普通用戶,能夠進(jìn)行大部分的配置和操作。

3.administrator

  • 描述:擁有最高權(quán)限的角色。
  • 權(quán)限:可以執(zhí)行所有操作,包括創(chuàng)建和刪除隊(duì)列、交換機(jī)、綁定,以及管理其他用戶和角色。
  • 用途:適用于管理員或需要完全控制 RabbitMQ 集群的用戶。

4.monitor

  • 描述:一個(gè)特殊的用戶角色,主要用于監(jiān)控和審計(jì)。
  • 權(quán)限:可以查看隊(duì)列、交換機(jī)、綁定等信息,但不能進(jìn)行修改或刪除操作。
  • 用途:適用于需要監(jiān)控 RabbitMQ 系統(tǒng)狀態(tài)的用戶,例如運(yùn)維人員,他們需要查看系統(tǒng)的運(yùn)行情況但不需要進(jìn)行任何修改。

5.manager

  • 描述:一個(gè)特殊的用戶角色,主要用于管理隊(duì)列和交換機(jī)。
  • 權(quán)限:可以創(chuàng)建和刪除隊(duì)列、交換機(jī)、綁定,但不能進(jìn)行其他高級(jí)操作。
  • 用途:適用于需要管理和配置隊(duì)列和交換機(jī)的用戶,例如開(kāi)發(fā)人員或運(yùn)維人員。

 6.developer 

  • 描述:一個(gè)特殊的用戶角色,主要用于開(kāi)發(fā)和測(cè)試。
  • 權(quán)限:可以創(chuàng)建和刪除隊(duì)列、交換機(jī)、綁定,也可以發(fā)送和接收消息。
  • 用途:適用于開(kāi)發(fā)人員,他們需要在開(kāi)發(fā)過(guò)程中進(jìn)行各種操作,包括創(chuàng)建和刪除 資源。

通過(guò)admin訪問(wèn)

隨后通過(guò)瀏覽器訪問(wèn) RabbitMQ 管理界面(默認(rèn)地址 http://服務(wù)器IP:15672),使用創(chuàng)建的 admin 用戶及密碼登錄,驗(yàn)證節(jié)點(diǎn)狀態(tài)、連接數(shù)及隊(duì)列指標(biāo)是否正常。

3.小結(jié)

到此這篇關(guān)于Ubuntu環(huán)境下的 RabbitMQ 安裝與配置詳細(xì)教程的文章就介紹到這了,更多相關(guān)RabbitMQ 安裝與配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot?maven項(xiàng)目配置文件覆蓋問(wèn)題的處理

    Springboot?maven項(xiàng)目配置文件覆蓋問(wèn)題的處理

    這篇文章主要介紹了Springboot?maven項(xiàng)目配置文件覆蓋問(wèn)題的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java基礎(chǔ)之String類使用與字符串比較

    Java基礎(chǔ)之String類使用與字符串比較

    String類代表字符串,java程序中的所有字符串文字(例如"abc")都被實(shí)現(xiàn)為此類的實(shí)例。本文將詳解String類的使用,以及如何進(jìn)行字符串比較
    2022-08-08
  • 淺談java中的一維數(shù)組、二維數(shù)組、三維數(shù)組、多維數(shù)組

    淺談java中的一維數(shù)組、二維數(shù)組、三維數(shù)組、多維數(shù)組

    下面小編就為大家?guī)?lái)一篇淺談java中的一維數(shù)組、二維數(shù)組、三維數(shù)組、多維數(shù)組。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • linux重啟java服務(wù)的腳本

    linux重啟java服務(wù)的腳本

    這篇文章主要介紹了linux重啟java服務(wù)的腳本,本文分步驟通過(guò)shell腳本給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Java?C++題解leetcode902最大為N的數(shù)字組合數(shù)位DP

    Java?C++題解leetcode902最大為N的數(shù)字組合數(shù)位DP

    這篇文章主要為大家介紹了Java?C++題解leetcode902最大為N的數(shù)字組合數(shù)位DP,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Spring底層機(jī)制環(huán)境搭建全過(guò)程

    Spring底層機(jī)制環(huán)境搭建全過(guò)程

    本文介紹了如何創(chuàng)建和使用Spring框架,包括模塊創(chuàng)建、依賴引入、環(huán)境搭建、Bean的生命周期管理、AOP編程以及代碼托管,通過(guò)實(shí)際操作和代碼示例,詳細(xì)講解了Spring的核心概念和功能
    2024-12-12
  • 濫用@PathVariable導(dǎo)致bug原因分析解決

    濫用@PathVariable導(dǎo)致bug原因分析解決

    這篇文章主要為大家介紹了濫用@PathVariable導(dǎo)致bug原因分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • spring security如何擴(kuò)展自定義登錄

    spring security如何擴(kuò)展自定義登錄

    本文詳細(xì)介紹了Spring Security的認(rèn)證原理和具體實(shí)現(xiàn),認(rèn)證原理基于過(guò)濾器鏈,通過(guò)驗(yàn)證用戶憑證和構(gòu)建認(rèn)證對(duì)象來(lái)保護(hù)應(yīng)用程序資源,實(shí)現(xiàn)自定義認(rèn)證功能的步驟包括創(chuàng)建自定義認(rèn)證提供程序、實(shí)現(xiàn)UserDetailsService接口以及在配置類中進(jìn)行相應(yīng)的配置
    2024-11-11
  • SpringBoot之@Scheduled注解用法解讀

    SpringBoot之@Scheduled注解用法解讀

    這篇文章主要介紹了SpringBoot之@Scheduled注解用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Mybatis報(bào)錯(cuò)mapkey is required問(wèn)題及解決

    Mybatis報(bào)錯(cuò)mapkey is required問(wèn)題及解決

    這篇文章主要介紹了Mybatis報(bào)錯(cuò)mapkey is required問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論