Cento7 安裝rabbitMQ

RabbitMQ產(chǎn)生的背景

1、消息隊(duì)列系統(tǒng)最在可以追溯到上個(gè)世紀(jì)(是不是感覺很久遠(yuǎn),其實(shí)是1983年,那時(shí)候我還沒用出生)。1983年最早的消息隊(duì)列軟件Teknekron誕生,當(dāng)時(shí)緊用于一些金融交易等系統(tǒng)。

2、上世紀(jì)九十年代,誕生了多家消息隊(duì)列系統(tǒng),例如IBM MQ、微軟的MSMQ、TIBCO MQ等消息隊(duì)列在企業(yè)中的應(yīng)用也愈加廣泛。顯然這些商用的消息隊(duì)列系統(tǒng)如果企業(yè)要使用需要付出高昂的成本,并且各個(gè)消息隊(duì)列之間使用不同的API不同的協(xié)議。

3、2004年,AMQP(Advanced Message Queuing Protocol,高級(jí)消息隊(duì)列協(xié)議)開始開發(fā)。通過這一標(biāo)準(zhǔn)可以和任意AMQP供應(yīng)商提供的MQ服務(wù)進(jìn)行交互。

4、2006年,光陰荏苒時(shí)光如梭,一轉(zhuǎn)眼就說到了重點(diǎn)。我們的主角使用Erlang語言實(shí)現(xiàn)的AMQP開源版本,RabbitMQ誕生了,同年AMQP協(xié)議首次發(fā)布。

為什么叫RabbitMQ?
很多人估計(jì)和我一樣也有這個(gè)疑問,我在《RabbitMQ實(shí)戰(zhàn)》這本書中找到了答案:兔子行動(dòng)非常迅速而且繁殖起來也非常瘋狂,所以就把Rabbit用作這個(gè)分布式軟件的命名(就是真么簡單)。

安裝依賴文件

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget
若不執(zhí)行以上的依賴文件的安裝,則在執(zhí)行./configure --prefix=/usr/local/erlang的過程中,最后兩行會(huì)出現(xiàn)如下錯(cuò)誤:

configure: error: No curses library functions found
configure: error: /bin/sh '/home/ding/otp_src_20.3/erts/configure' failed for erts

因在安裝erlang的make過程中會(huì)用到j(luò)ava命令,故安裝erlang前請(qǐng)檢查系統(tǒng)中是否存在jdk,若沒有需先安裝jdk

安裝erlang語言環(huán)境:

  • 下載安裝:
wget http://www.erlang.org/download/otp_src_20.3.tar.gz #下載erlang包
tar -xvf otp_src_20.3.tar.gz  #解壓
cd otp_src_20.3/ #切換到安裝路徑
./configure --prefix=/usr/local/erlang  #生產(chǎn)安裝配置
make && make install  #編譯安裝
  • 配置erlang環(huán)境變量:
vi /etc/profile  //在底部添加以下內(nèi)容
#set erlang environment
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
  • source /etc/profile //使以上配置生效

測(cè)試一下是否安裝成功,在控制臺(tái)輸入命令erl

erl  #如果進(jìn)入erlang的shell則證明安裝成功,退出即可。

安裝rabbitMQ

cd /usr/local  #切換到計(jì)劃安裝RabbitMQ的目錄,我這里放在/usr/local
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.7.4/rabbitmq-server-generic-unix-3.7.4.tar.xz  #下載RabbitMQ安裝包
xz -d rabbitmq-server-generic-unix-3.7.4.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.4.tar
mv rabbitmq_server-3.7.4/ rabbitmq
  • 配置rabbitmq環(huán)境變量:
vi /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin

source /etc/profile

  • 啟動(dòng)服務(wù)
rabbitmq-server -detached #啟動(dòng)rabbitmq,-detached代表后臺(tái)守護(hù)進(jìn)程方式啟動(dòng)。

查看狀態(tài),如果顯示如下截圖說明安裝成功:

rabbitmqctl status

其他相關(guān)命令
啟動(dòng)服務(wù):rabbitmq-server -detached【 /usr/local/rabbitmq/sbin/rabbitmq-server -detached 】
查看狀態(tài):rabbitmqctl status【 /usr/local/rabbitmq/sbin/rabbitmqctl status 】
關(guān)閉服務(wù):rabbitmqctl stop【 /usr/local/rabbitmq/sbin/rabbitmqctl stop 】
列出角色:rabbitmqctl list_users

配合網(wǎng)頁插件

首先創(chuàng)建目錄,否則可能報(bào)錯(cuò):

mkdir /etc/rabbitmq

然后啟用插件:

rabbitmq-plugins enable rabbitmq_management

配置防火墻:

配置linux 端口 15672 網(wǎng)頁管理 5672 AMQP端口:

firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service

現(xiàn)在你在瀏覽器中輸入服務(wù)器IP:15672 就可以看到RabbitMQ的WEB管理頁面了,是不是很興奮,可是你沒有賬號(hào)密碼,別急。

配置訪問賬號(hào)密碼的和權(quán)限

默認(rèn)網(wǎng)頁是不允許訪問的,需要增加一個(gè)用戶修改一下權(quán)限,代碼如下:

rabbitmqctl add_user superrd superrd  #添加用戶,后面兩個(gè)參數(shù)分別是用戶名和密碼,我這都用superrd了。
rabbitmqctl set_permissions -p / superrd ".*" ".*" ".*"  #添加權(quán)限
rabbitmqctl set_user_tags superrd administrator #修改用戶角色

然后就可以遠(yuǎn)程訪問了,然后可直接配置用戶權(quán)限等信息。
登錄:http://ip:15672 登錄之后在admin里面把guest刪除。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 整體架構(gòu) 部署步驟 基于 Docker 基本概念內(nèi)存節(jié)點(diǎn)只保存狀態(tài)到內(nèi)存,例外情況是:持久的 queue 的內(nèi)容將...
    mvictor閱讀 12,902評(píng)論 5 30
  • RabbitMQ的安裝 RabbitMQ下載地址 RabbitMQ是由LShift提供的一個(gè)Advanced Me...
    二月_春風(fēng)閱讀 14,651評(píng)論 0 10
  • rabbitmq有3種模式,集群模式2種? 單機(jī)模式:即單機(jī)情況不做集群,就單獨(dú)運(yùn)行一個(gè)rabbitmq而已。...
    嗷大彬彬閱讀 4,216評(píng)論 1 9
  • 關(guān)于消息隊(duì)列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個(gè)朋友聊這塊的技術(shù)選型,是時(shí)...
    預(yù)流閱讀 586,577評(píng)論 51 787
  • 來源 RabbitMQ是用Erlang實(shí)現(xiàn)的一個(gè)高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。支持消息的持久化、事務(wù)、擁塞控...
    jiangmo閱讀 10,506評(píng)論 2 34

友情鏈接更多精彩內(nèi)容