1. 程式人生 > >訊息中介軟體——RabbitMQ(一)Windows/Linux環境搭建(完整版)

訊息中介軟體——RabbitMQ(一)Windows/Linux環境搭建(完整版)

前言

最近在學習訊息中介軟體——RabbitMQ,打算把這個學習過程記錄下來。此章主要介紹環境搭建。此次主要是單機搭建(條件有限),包括在Windows、Linux環境下的搭建,以及RabbitMQ的監控平臺搭建。

環境準備

在搭建RabbitMQ之前,請先確保如下環境已經搭建完畢

  • Java環境(我的JDK1.8)
  • Maven環境(我的3.6.1目前最新版)
  • Git環境

沒有搭建的同學走傳送門:

JDK環境搭建: JAVA8環境搭建
Maven環境搭建: Windows環境下使用Nexus 3.X 搭建Maven私服及使用介紹
Git環境搭建:Git環境搭建及配置


1.Windows環境下搭建

需要分別下載erlang與RabbitMQ安裝包,進行安裝。如果有遇到官方網站打不開的情況,可以掃描下方二維碼關注公眾號:Coder程式設計 回覆RabbitMQ可以獲取安裝檔案。

1.1 下載並安裝 erlang

原因:RabbitMQ服務端程式碼是使用併發式語言Erlang編寫的,安裝Rabbit MQ的前提是安裝Erlang。

  • 下載地址:http://www.erlang.org/downloads

目前最新版本是:22.0

  • 根據電腦位數下載相應版本,現在大部分電腦都是64位,我這邊選擇64位的進行下載。

1.2 安裝及環境配置步驟

1.2.1 安裝包

下載完後,會得到如下安裝包

1.2.2 安裝過程

  • 雙擊安裝包,點next就可以

  • 選擇一個軟體安裝儲存的位置,然後依次點選next、finish就可以。

1.2.3 配置環境變數

安裝完成之後,我們再來配置下環境變數。

電腦-->滑鼠右鍵“屬性”-->高階系統設定-->環境變數-->“新建”系統環境變數

變數名:ERLANG_HOME 變數值就是剛才erlang的安裝地址,點選確定。然後雙擊系統變數path

點選“新建”,將%ERLANG_HOME%\bin加入到path中

1.2.4 測試

最後windows鍵+R鍵,輸入cmd,再輸入erl,看到版本號就說明erlang安裝成功了。

1.3 下載並安裝 RabbitMQ

1.3.1 安裝及配置

下載地址:http://www.rabbitmq.com/download.html

  • 雙擊下載後的.exe檔案,安裝過程與erlang的安裝過程相同。
  • RabbitMQ安裝好後接下來安裝RabbitMQ-Plugins。開啟命令列cd,輸入RabbitMQ的sbin目錄。

安裝目錄:E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.16

然後在後面輸入rabbitmq-plugins enable rabbitmq_management命令進行安裝

開啟sbin目錄,雙擊rabbitmq-server.bat

1.3.2 測試

輸入地址:http://localhost:15672/

顯示圖形介面及為成功!

1.4 解決閃退問題

輸入 rabbitmq-plugins enable rabbitmq_management命令,之後啟動 rabbitmq-service.bat 失敗

建議:

  • 首先在命令列輸入:rabbitmq-service stop
  • 接著輸入rabbitmq-service remove
  • 再接著輸入rabbitmq-service install
  • 接著輸入rabbitmq-service start
  • 最後重新輸入rabbitmq-plugins enable rabbitmq_management

2. Linux 環境下搭建

Linux環境安裝RabbitMQ有兩種安裝方式:一種yum安裝方式,一種編譯安裝方式。對於新手,推薦:yum安裝方式

以下以yum安裝方式進行介紹。

RabbitMQ官網下載地址:http://www.rabbitmq.com/

注意事項
erlang的版本會影響到rabbitmq的安裝,兩者有個版本對照。檢視對照的地址:http://www.rabbitmq.com/which-erlang.html

如果官方下載不了,關注下方公眾號:Coder程式設計,回覆RabbitMQ獲取安裝資料!

2.1 準備工作

2.1.1 安裝好JDK環境。

可以參考以下文章:
https://blog.csdn.net/u013268969/article/details/82115895

2.1.2 關閉防火牆

firewall-cmd --permanent --add-port=5672/tcp

firewall-cmd --reload

setsebool -P nis_enabled 1 (關閉selinux)

2.1.3 安裝依賴包

rabbitmq所需要的依賴包


yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

2.2 安裝Erlang以及RabbitMQ

2.2.1 下載安裝包


wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

2.2.2 安裝服務命令

rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 

rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

以上必須按順序進行安裝,否則會報錯!

2.2.3 修改配置檔案

注意修改: vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app檔案

修改:loopback_users 中的 <<"guest">>,只保留guest

修改:heartbeat 為1

2.2.4 啟動/停止服務等命令


## 啟動rabbitmq服務
/etc/init.d/rabbitmq-server start 

## 停止rabbitmq服務
/etc/init.d/rabbitmq-server stop 

## 檢視rabbitmq服務狀態
/etc/init.d/rabbitmq-server status 

## 重啟rabbitmq服務
/etc/init.d/rabbitmq-server restart

## 檢視服務有沒有啟動

lsof -i:5672 或者 netstat -tnlp|grep 15672

2.2.5 安裝RabbitMQ管理介面


rabbitmq-plugins enable rabbitmq_management

安裝完畢後,需要重啟服務,之後就可以通過http://ip:15672 使用guest,guest 進行登陸web頁面了。

2.2.6 可能遇到的坑

安裝過程中,遇到過以下坑:


BOOT FAILED
===========

Error description:
   {error,{missing_dependencies,[compiler],[mochiweb]}}

Log files (may contain more information):
   /var/log/rabbitmq/[email protected]
   /var/log/rabbitmq/[email protected]

Stack trace:
   [{rabbit_plugins,ensure_dependencies,1,
                    [{file,"src/rabbit_plugins.erl"},{line,176}]},
    {rabbit_plugins,prepare_plugins,1,
                    [{file,"src/rabbit_plugins.erl"},{line,195}]},
    {rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,280}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,403}]},
    {init,start_it,1,[]},
    {init,start_em,1,[]}]

{"init terminating in do_boot",{error,{missing_dependencies,[compiler],[mochiweb]}}}
/usr/lib/rabbitmq/bin/rabbitmq-server: 行 236: 105442 使用者定義訊號 2    start_rabbitmq_server "$@"

找了半天也沒找到解決方案,直接解除安裝重新再安裝一遍就好了,也行中間有操作失誤的地方。

2.2.7 解除安裝RabbitMQ操作


/sbin/service rabbitmq-server stop
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarch
 
yum list | grep erlang
yum -y remove erlang-*
yum remove erlang.x86_64 
rm -rf /usr/lib64/erlang
rm -rf /var/lib/rabbitmq

文末

歡迎關注個人微信公眾號:Coder程式設計
獲取最新原創技術文章和免費學習資料,更有大量精品思維導圖、面試資料、PMP備考資料等你來領,方便你隨時隨地學習技術知識!
新建了一個qq群:315211365,歡迎大家進群交流一起學習。謝謝了!也可以介紹給身邊有需要的朋友。

文章收錄至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
歡迎關注並star~

參考文章:

https://blog.csdn.net/u010638673/article/details/81983300

https://blog.csdn.net/zwhfyy/article/details/82769