1.安裝erlang
//1:安裝GCC GCC-C++ Openssl等子產品,安裝過就不需要安裝了
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
//2:安裝ncurses
yum -y install ncurses-devel
//開始安裝Erlang
$ wget http://erlang.org/download/otp_src_18.2.1.tar.gz --下載下傳(該檔案如果版本和RabbitMq不比對是無法安裝成功的)
$ tar xvfz otp_src_18.2.1.tar.gz --解壓
$ cd otp_src_18.2.1 --進入解壓後的目錄
$ ./configure
$ make install --開始安裝,安裝時間要幾分鐘
$ erl --檢視是否安裝完成,傳回如下:
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.2.1 (abort with ^G)
$ halt(). --檢視後退出 ,我測說的時候,沒有退出,是新開的一個shell視窗
2.安裝rabbitMq
//下載下傳rabbitMq
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz --下載下傳位址,可以自己更改可用的位址
$ yum install xz --安裝壓縮工具
//解壓Mq
$ xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
$ ls --檢視,應該解壓出來一個 rabbitmq-server-generic-unix-3.6.9.tar 檔案
$ tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
$ ls --檢視,應該解壓出來一個 rabbitmq_server-3.6.9 檔案夾 注意:這種下載下傳的方式解壓後直接可以使用,無需再編譯安裝;
- 随後移動至/usr/local/下 改名rabbitmq:
$ cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq
- 進入到/usr/local/rabbitmq檔案内,其指令檔案存在于sbin檔案夾下,是以需要将sbin檔案夾的路徑添加環境變量到PATH中
- 修改環境變量/etc/profile,添加如下代碼到最後
export PATH=/usr/local/rabbitmq/sbin:$PATH
- 注意重點,将紅色路徑寫入根目錄/etc/profile裡
- 開始修改:
$ vi /etc/profile --修改檔案,在末尾加入上面的紅色代碼
$ cat /etc/profile --檢視是否修改成功
$ source /etc/profile --使環境變量生效,PATH路徑更新
3.啟動mq管理方式。
$ cd /usr/local/rabbitmq/sbin/
$ rabbitmq-plugins enable rabbitmq_management #啟動背景管理
可能出現的錯誤:
1:Applying plugin configuration to rabbit@SZB-L0032605... failed
則不用在意
2:rabbitmq Error: dependent plugins [crypto,ssl] not found
則是openssl和erlang版本不相容,我換成CentOS7就沒問題了、
我先用的CentOS8.1 就出了這個錯,後來換成CentOS7.6就報了問題1的錯,然後直接忽略
$ rabbitmq-server -detached #背景運作rabbitmq
$ systemctl start firewalld // 啟動防火牆
$ firewall-cmd --zone=public --add-port=15672/tcp --permanent //開放15672端口
$ systemctl restart firewalld --重新開機防火牆
$ firewall-cmd --list-ports --檢視開放端口清單
- 然後開始在本地通路:http://12***:15672/ ,賬号和密碼都是admin
4踩坑精品總結
1、一定要去阿裡雲配置安全端口,否則無法通路。(另一個血淚坑5672也要配置,不然項目裡通路不上,,一開始隻配置了15672,然後找bug一下午,暴風哭泣!!!!!!!!!)
- 2、進入通路頁面,但guest登入不上?
- 翻看官方文檔可知,guest是有所有權限的,但出于安全因素,guset隻能用localhost登入使用,是以我們自己建立mq賬号:
-
(1) 超級管理者(administrator)
可登陸管理控制台(啟用management plugin的情況下),可檢視所有的資訊,并且可以對使用者,政策(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制台(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程序數,記憶體使用情況,磁盤使用情況等)
(3) 政策制定者(policymaker)
可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框辨別的部分)。
與administrator的對比,administrator能看到這些内容
(4) 普通管理者(management)
僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點資訊,也無法對政策進行管理。
//新增使用者
rabbitmqctl add_user Username Password
//設定使用者權限
set_user_tags admin administrator
//檢視所有使用者
rabbitmqctl list_users