消息中間件——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/downloadserlang下載下傳位址
目前最新版本是:22.0
根據電腦位數下載下傳相應版本,現在大部分電腦都是64位,我這邊選擇64位的進行下載下傳。
1.2 安裝及環境配置步驟
1.2.1 安裝包
下載下傳完後,會得到如下安裝包
安裝包
1.2.2 安裝過程
輕按兩下安裝包,點next就可以
安裝過程1
安裝過程2
選擇一個軟體安裝儲存的位置,然後依次點選next、finish就可以。
1.2.3 配置環境變量
安裝完成之後,我們再來配置下環境變量。
電腦-->滑鼠右鍵“屬性”-->進階系統設定-->環境變量-->“建立”系統環境變量
環境變量配置1
變量名:ERLANG_HOME 變量值就是剛才erlang的安裝位址,點選确定。然後輕按兩下系統變量path
環境變量配置2
點選“建立”,将%ERLANG_HOME%bin加入到path中
1.2.4 測試
最後windows鍵+R鍵,輸入cmd,再輸入erl,看到版本号就說明erlang安裝成功了。
測試
1.3 下載下傳并安裝 RabbitMQ
1.3.1 安裝及配置
http://www.rabbitmq.com/download.html下載下傳rabbitmq
輕按兩下下載下傳後的.exe檔案,安裝過程與erlang的安裝過程相同。
RabbitMQ安裝好後接下來安裝RabbitMQ-Plugins。打開指令行cd,輸入RabbitMQ的sbin目錄。
安裝目錄
安裝目錄:E:Program FilesRabbitMQ Serverrabbitmq_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
-
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/821158952.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.rpmwget 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
原文位址
https://www.cnblogs.com/coder-programming/p/11295461.html