新手實戰 RabbitMQ:安裝與 Server 的建立

更新 發佈閱讀 5 分鐘
RabbitMQ 點陣圖風格 by ChatGPT-4o

RabbitMQ 點陣圖風格 by ChatGPT-4o


上篇『新手實戰 RabbitMQ:Producer、Exchange、Queue 和 Consumer 的基本介紹』我們初步認識了 RabbitMQ 的核心部件,本篇我們從安裝到建立 RabbitMQ Server 都會詳細介紹。

以下都會以 Windows 系統來做說明,使用 Linux 或 MacOS 的讀者不用擔心,可以到 RabbitMQ 的官網上,有詳細的安裝流程。


本篇會安裝程式到本地端,如果會使用 Docker 的讀者也推薦用以下的指令直接安裝 :

# latest RabbitMQ 4.x
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4-management

那我們就直接開始吧!在安裝 RabbitMQ 之前必須先安裝 Erlang,因為 RabbitMQ 就是使用 Erlang 語言所開發。首先到 Erlang 官網上下載安裝檔

Erlang 下載頁面

Erlang 下載頁面

再來是安裝 RabbitMQ,到下載頁面取得安裝檔

RabbitMQ 下載頁面

RabbitMQ 下載頁面

點開安裝檔只需要持續下一步就好,記得 Erlang 要先安裝,不然會跳出錯誤。安裝後到 Program Files 內檢查是否正確安裝

Erlang 安裝位置

Erlang 安裝位置

RabbitMQ 安裝位置

RabbitMQ 安裝位置

再來就是加入環境變數,首先在 Windows 設定內搜尋環境變數,點選"編輯系統環境變數"

編輯系統環境變數

編輯系統環境變數

接著點選"環境變數"

環境變數

環境變數

再到下方 Path 的位置雙擊它

Path 設定

Path 設定

最後點選"新增",輸入安裝路徑,如果沒有任何修改的話會類似這樣

C:\Program Files\Erlang OTP\bin
C:\Program Files\RabbitMQ Server\rabbitmq_server-4.1.2\sbin
新增環境變數路徑

新增環境變數路徑

最後點選"確定"後就完成設定了!接著打開任意的 Terminal,檢查是否設定正確,首先檢查 Erlang,輸入指令 erl

檢查設定環境情形 - Erlang

檢查設定環境情形 - Erlang

可以發現進入了 Erlang 的互動式 shell,確認正常後輸入 q(). 離開。接著啟動 RabbitMQ Server,輸入指令

# 開啟 WEB UI 相關套件
rabbitmq-plugins enable rabbitmq_management
# 啟動 Server​
rabbitmq-server​

接著會出現啟動 Server 的資訊,這邊出現了一大串 Error

rabbitmq-server 啟動失敗

rabbitmq-server 啟動失敗

*若讀者成功啟動可以略過這部分

細讀後發現,是因為啟動需要的 Port 被佔用了,先檢查 25672 是被哪個程式佔用

netstat -aon | findstr :25672
Port 佔用情形

Port 佔用情形

知道 PID 之後也可以到系統管理員查看是哪個程式佔用

工作管理員

工作管理員

發現是 Erlang 的程式,有可能是安裝完後自動執行的文件或是曾經開啟沒正確關閉。確認是可以砍掉的程式後,輸入以下指令檢查 erl 有執行那些背景檔

tasklist | findstr /I erl

知道是哪些 PID 之後可以再次回到工作管理員手動刪除,或是執行

taskkill /PID 你的PID /F

刪除後我們再啟動一次 Server,出現 Rabbitmq 經典兔子圖案就是成功啟動

​rabbitmq-server
RabbitMQ Server 啟動

RabbitMQ Server 啟動

接著我們打開瀏覽器輸入

http://localhost:15672/

即可進入登入頁面,帳號密碼預設都是 guest,之後在 Web UI 都可以做更改

登入頁面

登入頁面

RabbitMQ Overview

RabbitMQ Overview


如果想更改預設的 Port(當然沒事不需要亂改),可以遵循以下的操作流程。到 C:\Users\(使用者名稱)\AppData\Roaming\RabbitMQ\ 的路徑下新增"rabbitmq.conf"

新增 rabbitmq.conf

新增 rabbitmq.conf

接著打開該檔案,可使用 Notepad++ 或是 VSCode 之類的文字檔,加上以下的訊息

management.listener.port = 8888

接著重啟

# 常駐背景執行就用 rabbitmq-service start
# 想把 cmd 當成 Server 就使用 rabbitmq-server
rabbitmq-service stop
rabbitmq-service start
RabbitMQ 重啟

RabbitMQ 重啟

再到網頁輸入 "localhost:8888" 即可成功進入 Web UI

Web UI 登入頁面

Web UI 登入頁面


以上內容涵蓋了從 RabbitMQ 安裝到啟動 Server 的完整流程,基本上只要按照步驟操作,就能順利完成安裝。完成安裝後,就可以開始進行實際的應用開發。下篇《新手實戰 RabbitMQ:使用 Python 實作五種常見架構》將接觸到實際應用 RabbitMQ 的層面,我們下篇再見!

留言
avatar-img
Alan的沙龍
1會員
12內容數
不定期技術文章、旅遊、人生見解分享
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這篇文章介紹了路由器 (Router) 在網絡硬體中的功能與運作概念,包括路由器的工作原理、運作流程和與其他硬體設備的區別。文章也提及了路由器運作的基本概念,例如路由表的建立方式和路由協定的基礎知識。
Thumbnail
這篇文章介紹了路由器 (Router) 在網絡硬體中的功能與運作概念,包括路由器的工作原理、運作流程和與其他硬體設備的區別。文章也提及了路由器運作的基本概念,例如路由表的建立方式和路由協定的基礎知識。
Thumbnail
訊息的即時傳遞已然成為現代社會的趨勢了, 而扮演中樞平台的系統架構功能也漸趨複雜完整, Kafka是一個事件流平台, 正好滿足串流時代之下的即時訊息傳遞架構, 因此我們有必要深入來學習這套事件流平台, 不論是自動化、金融交易、IOT、物流…皆離不開即時的需求, 所以就讓我們蹲好馬步來好好的學習一
Thumbnail
訊息的即時傳遞已然成為現代社會的趨勢了, 而扮演中樞平台的系統架構功能也漸趨複雜完整, Kafka是一個事件流平台, 正好滿足串流時代之下的即時訊息傳遞架構, 因此我們有必要深入來學習這套事件流平台, 不論是自動化、金融交易、IOT、物流…皆離不開即時的需求, 所以就讓我們蹲好馬步來好好的學習一
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
我們在「【Message Queue - Kafka】不斷的試誤…, 用Docker來嘗試安裝Kafka」有介紹如何架設kafka, 其中我們使用環境變數來進行kafka的配置, 但除了環境變數之外, 其實還能夠用檔案配置的方式來對kafka進行配置, 如此一來我們就可以將配置檔與啟動檔完全分開,
Thumbnail
我們在「【Message Queue - Kafka】不斷的試誤…, 用Docker來嘗試安裝Kafka」有介紹如何架設kafka, 其中我們使用環境變數來進行kafka的配置, 但除了環境變數之外, 其實還能夠用檔案配置的方式來對kafka進行配置, 如此一來我們就可以將配置檔與啟動檔完全分開,
Thumbnail
我們在「【Message Queue - Kafka】串流時代的超入門簡介」有介紹到關於Kafka的基礎概念, 那麼本章節主要著重於生產者(Producer)的面向來細部探討, 看看生產者(Producer)究竟是什麼? 有哪些應該要注意的? 我們今天的主題除了說明生產者(Producer)的
Thumbnail
我們在「【Message Queue - Kafka】串流時代的超入門簡介」有介紹到關於Kafka的基礎概念, 那麼本章節主要著重於生產者(Producer)的面向來細部探討, 看看生產者(Producer)究竟是什麼? 有哪些應該要注意的? 我們今天的主題除了說明生產者(Producer)的
Thumbnail
為什麼會有Schema Registry的出現? 因為Kafka的零拷貝原則, 也就是kafka本身並不會去碰觸到訊息也不進行資料驗證, 而是bypass的傳送, 預設都以位元組來傳輸資料會比較有效率, 但位元組誰看得懂啊...。 加上Kafka的特性是生產者與消費者並不能直接溝通, 因
Thumbnail
為什麼會有Schema Registry的出現? 因為Kafka的零拷貝原則, 也就是kafka本身並不會去碰觸到訊息也不進行資料驗證, 而是bypass的傳送, 預設都以位元組來傳輸資料會比較有效率, 但位元組誰看得懂啊...。 加上Kafka的特性是生產者與消費者並不能直接溝通, 因
Thumbnail
核心元件 Spring Boot:Spring Cloud的基礎框架。 Spring Cloud Starters:Spring Boot的依賴管理。 Consul:微服務系統的註冊中心。 Eureka:微服務系統的註冊中心。 Feign:簡化微服務之間的溝通方式。 Ribbon:處理程
Thumbnail
核心元件 Spring Boot:Spring Cloud的基礎框架。 Spring Cloud Starters:Spring Boot的依賴管理。 Consul:微服務系統的註冊中心。 Eureka:微服務系統的註冊中心。 Feign:簡化微服務之間的溝通方式。 Ribbon:處理程
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News