RabbitMQ是一個在AMQP基礎上完整的,可複用的企業消息系統。他遵循Mozilla Public License開源協議。python
MQ全稱爲Message Queue, 消息隊列(MQ)是一種應用程序對應用程序的通訊方法。應用程序經過讀寫出入隊列的消息(針對應用程序的數據)來通訊,而無需專用鏈接來連接它們。消息傳遞指的是程序之間經過在消息中發送數據進行通訊,而不是經過直接調用彼此來通訊,直接調用一般是用於諸如遠程過程調用的技術。排隊指的是應用程序經過隊列來通訊。隊列的使用除去了接收和發送應用程序同時執行的要求。RabbitMQ能夠,多個程序同時使用RabbitMQ ,可是必須隊列名稱不同。採用erlang語言,屬於愛立信公司開發的。c++
1. 系統: ContOS7web
2. Erlang: V 20.2
api
3. RabbitMQ: V 3.5.0(版本未在生產環境使用)app
4. Python: Python 2.7.11
ui
安裝所需的依賴,通常都是一些經常使用的,沒有遇到其它棘手的問題,很順利(祝你成功)
spa
# yum install build-essential m4 # yum install openssl # yum install openssl-devel # yum install unixODBC # yum install unixODBC-devel # yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel
因爲RabbitMQ是有erlang語言開發的,erlang必然是不可或缺的!插件
下載unix
# wget http://www.erlang.org/download/otp_src_R15B01.tar.gz or # 官網自行下載版本 # http://www.erlang.org/
安裝日誌
# 解壓 tar -zxvf otp_src_20.2.tar.gz cd otp_src_20.2 # 編譯安裝 ./configure --prefix=/opt/rabbitmq make make install # 添加環境變量
如編譯時報如下錯誤(請從新安裝依賴包)
嘗試解決錯誤:# yum install ncurses-devel
嘗試解決: # yum install unixODBC # yum install unixODBC-devel
驗證erlang
以下圖所示,即爲安裝成功
當前rabbitmq版本已經更新到了3.7.n版本,但我嘗試安裝的版本偏低,3.5.n版本,若有特殊需求請自行解決!
下載
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0-1.noarch.rpm
安裝
經過yum安裝,會幫助你解決不少依賴問題!
# yum install rabbitmq-server-3.5.0-1.noarch.rpm
坐等安裝完成後,大功告成!
驗證
嘗試啓動rabbitmq
# rabbitmq-server -detached (加-detached參數,爲後臺運行)
以下圖所示:即爲成功
哈哈哈,所有搞定,開啓RabbitMQ之旅吧!
# 啓用web管理界面 # rabbitmq-plugins enable rabbitmq_management # 開啓服務:rabbitmq-server -detached # 關閉服務:rabbitmqctl stop (連同節點上的其它應用程序一同關閉了) # or # 關閉服務:rabbitmqctl stop_app (只關閉rabbitmq節點) # 開啓插件:rabbitmq-plugins enable 插件名 # 關閉插件:rabbitmq-plugins disable 插件名 # 檢查rabbitmq狀態:rabbitmqctl status
4369 (epmd), 25672 (Erlang distribution) 5672, 5671 (AMQP 0-9-1 without and with TLS) 15672 (if management plugin is enabled) 61613, 61614 (if STOMP is enabled) 1883, 8883 (if MQTT is enabled) # 特殊說明 web:15672 api_port:5672
# 默認狀況下rabbitmq的日誌在 /var/log/rabbitmq/rabbit@[hostname].log # 默認配置文件 /etc/rabbitmq/rabbitmq.config