RabbitMQ是實(shí)現(xiàn)AMQP(高級消息隊(duì)列協(xié)議)的消息中間件的一種,最初起源于金融系統(tǒng)毡熏,用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,在易用性侣诵、擴(kuò)展性痢法、高可用性等方面表現(xiàn)不俗。消息中間件主要用于組件之間的解耦杜顺,消息的發(fā)送者無需知道消息使用者的存在财搁,反之亦然。
MQ 全稱為 Message Queue, 消息隊(duì)列(MQ)是一種應(yīng)用程序?qū)?yīng)用程序的通信方法哑舒。應(yīng)用程序通過讀寫出入隊(duì)列的消息(針對應(yīng)用程序的數(shù)據(jù))來通信妇拯,而無需專用連接來鏈接它們。
RabbitMQ 是一個(gè)在 AMQP 基礎(chǔ)上完整的,可復(fù)用的企業(yè)消息系統(tǒng)越锈。他遵循 Mozilla Public License 開源協(xié)議仗嗦。
- RabbitMQ 官網(wǎng):http://www.rabbitmq.com/
- RabbitMQ 官網(wǎng)下載:http://www.rabbitmq.com/download.html
- RabbitMQ 官網(wǎng)安裝文檔:http://www.rabbitmq.com/install-rpm.html
安裝Erlang
由于RabbitMQ是用
Erlang
開發(fā)的,所以我們需要先安裝Erlang ,在RabbitMQ官網(wǎng)提供了Erlang的安裝包甘凭。
于上圖所示我的系統(tǒng)是centos7 所以我安裝的倒數(shù)第二個(gè)稀拐。
rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
安裝RabbitMQ
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
去官網(wǎng)下載安裝包 http://www.rabbitmq.com/download.html
在瀏覽器右鍵復(fù)制鏈接然后在linux 下執(zhí)行
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
安裝
sudo yum install -y rabbitmq-server-3.6.1-1.noarch.rpm
啟動(dòng)服務(wù)
先看下自己的主機(jī)名:hostname,我的主機(jī)名是:micro2
先修改一下 host 文件:vim /etc/hosts丹弱,添加一行:127.0.0.1 micro2
- 啟動(dòng):service rabbitmq-server start
- 停止:service rabbitmq-server stop
- 重啟:service rabbitmq-server restart
- 設(shè)置開機(jī)啟動(dòng):chkconfig rabbitmq-server on
配置
查找默認(rèn)配置位置:find / -name "rabbitmq.config.example"德撬,我這邊搜索結(jié)果是:/usr/share/doc/rabbitmq-server-3.6.10/rabbitmq.config.example
- 復(fù)制默認(rèn)配置:cp /usr/share/doc/rabbitmq-server-3.6.10/rabbitmq.config.example /etc/rabbitmq/
- 修改配置文件名:cd /etc/rabbitmq ; mv rabbitmq.config.example rabbitmq.config
- 編輯配置文件,開啟用戶遠(yuǎn)程訪問:vim rabbitmq.config
- 在 64 行躲胳,默認(rèn)有這樣一句話:%% {loopback_users, []},蜓洪,注意,該語句最后有一個(gè)逗號坯苹,等下是要去掉的
- 我們需要改為:{loopback_users, []}隆檀,
- 開啟 Web 界面管理:rabbitmq-plugins enable rabbitmq_management
- 重啟 RabbitMQ 服務(wù):service rabbitmq-server restart
- 瀏覽器訪問:http://192.168.x.xxx:15672 默認(rèn)管理員賬號:guest 默認(rèn)管理員密碼:guest
翻看官方的release文檔后,得知由于賬號guest具有所有的操作權(quán)限粹湃,并且又是默認(rèn)賬號恐仑,出于安全因素的考慮,guest用戶只能通過localhost登陸使用为鳄,并建議修改guest用戶的密碼以及新建其他賬號管理使用rabbitmq(該功能是在3.3.0版本引入的)裳仆。
{loopback_users, []}, 這一句就是讓所有地方都可以用guest登錄