如何安裝RabbitMQ
訊息佇列又稱為MQ,應用程式間的訊息通訊工具,其有利於程式解耦、多語言整合、非同步通訊、擴充套件和簡單負載均衡等,是生產-消費者模型的典型代表。常見MQ產品有RabbitMQ ZeroMQ Kafka等等。
RabbitMQ,老牌MQ產品,基於erlang語言,實現對AMQP等協議的支援,重量級,適合企業級應用開發;
Kafka,linkedin開源MQ產品,追求高吞吐量,適合於大量資料的收集業務,如網際網路業務產生的大量日誌資料;
ZeroMQ,號稱最快的MQ,提供了一套非同步訊息通訊庫,可實現RabbitMQ不能實現的高階複雜佇列;
Kafka和RabbitMQ都需要搭建訊息代理伺服器,採用中介軟體模式。ZeroMQ採用非中介軟體模式,不需要搭建訊息代理伺服器;
今天先上一篇簡單的RabbitMQ安裝教程,系統為centos7。
安裝erlang
RabbitMQ採用erlang語言實現。erlang是一門被設計用來編寫併發、實時、分散式系統的新語言,原本是為了電話交換機開發的語言。下面原始碼編譯安裝。
1. 下載原始碼
http://www.erlang.org/download.html 下載最新版的erlang安裝包。
2. 解壓安裝
$ tar xvf otp_src_19.1.tar.gz
$ ./configure --prefix=/usr/local/erlang --without-javac
$ make $ make install
3. 配置環境變數
在/etc/profile.d/下新建erlang.sh
$ vim /etc/profile.d/erlang.sh
加入如下內容:
PATH=$PATH:/usr/local/erlang/bin
export PATH
如下使環境變數生效
$ source /etc/profile.d/erlang.sh
4. 簡單體驗
Hello World程式體驗:
$ vim hello.erl
%% HellWorld example
%% We define a module called foo
-module(hello).
%% Export the function print that has 0 arguments
-export([print/0]).
print() ->
io:format("Hello World!~n").
$ erlc hello.erl // 編譯
$ erl // 互動命令列模式執行
效果如下:
實驗成功!
安裝rabbitmq
1. 安裝依賴項**
每個人的系統預設有些軟體已經安裝,本人這裡需要安裝三個依賴項
$ yum install -y libxslt rsync zip
2. 下載rabbitmq二進位制包
$ cd /usr/local
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5.tar.xz
3. 安裝
使用二進位制包安裝很輕鬆,如下:
$ cd /usr/local/
$ tar Jxvf rabbitmq-server-3.6.5.tar.xz -C .
$ ln -s rabbitmq_server-3.6.5 rabbitmq
rabbit安裝目錄為/usr/local/rabbitmq
4. 配置環境變數
在/etc/profile.d/新建rabbitmq.sh
$ vim /etc/profile.d/rabbitmq.sh
新增如下內容:
PATH=$PATH:/usr/local/rabbitmq/sbin
export PATH
執行如下使環境變數生效
$ source /etc/profile.d/rabbitmq.sh
5. 關於rabbitmq操作
如何啟動?
前臺執行:
$ rabbitmq-server ![image](http://upload-images.jianshu.io/upload_images/3670077-52f898027a4e21fe?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
後臺執行:
$ rabbitmq-server -detached
關閉
$ rabbitmqctl stop
檢視狀態
$ rabbitmqctl status
WEB管理外掛
RabbitMQ提供了一套外掛機制,方便功能擴充套件。這裡介紹一個最常用外掛rabbitmq_management。這款這外掛提供了完善的管理和監控功能,提供了各項指標,具體詳情會在之後文章介紹。首先體驗一下,如下方法開啟。
1. 啟用外掛
通過rabbitmq-plugin管理外掛,啟用rabbitmq_management外掛方法如下:
$ rabbitmq-plugins enable rabbitmq_management
此時使用預設使用者guest、密碼guest,即可訪問http://localhost:15672。但此時無法遠端訪問,但實際場景多為遠端。
下面解決遠端訪問問題:
2. 確認關閉防火牆
如無法遠端登入訪問http://host:15672,請確認防火牆已關閉。本人系統防火牆已開啟,關閉方法如下:
$ iptables -F
本人系統centos7,不同系統的機制需自己確認。
3. 環境變數
RabbitMQ三種環境變數:
》系統內建
》rabbitmq-env.conf設定變數
》shell環境變數
優先順序: shell環境變數 > rabbit-env.conf > 系統內建
此處通過rabbit-env.conf設定,RabbitMQ安裝目錄下etc/rabbitmq/rabbitmq-env.conf:
$ cd /usr/local/rabbitmq/
$ vim etc/rabbitmq/rabbitmq-env.conf
如下指定rabbitmq配置檔案:
RABBITMQ_CONFIG_FILE=/usr/local/rabbitmq/etc/rabbitmq/rabbitmq
上述環境變數指定rabbitmq配置檔案,需新增字尾.config,即真實檔案為/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config:
4. 配置遠端訪問**
關於啟用guest遠端訪問許可權,官網http://www.rabbitmq.com/access-control.html,有如下一段話:
按此要求修改RabbitMQ配置檔案,如下:
$ vim etc/rabbitmq/rabbitmq.config
新增如下內容:
<pre data-source-line="58" style="margin: 0px; padding: 0px;">[{rabbit, [
{tcp_listeners, [5672]},
{loopback_users, []}
]}].</pre>
此時,訪問http://remote_ip:15672,效果如下:
預設的使用者名稱guest、密碼guest,登入進入效果如下:
上面就是RabbitMQ執行時狀態的總覽資訊。到此,RabbitMQ的安裝就OK!
參考文件
關於Erlang入門:
http://www.erlang.org/downloads
http://www.csdn.net/article/2015-10-26/2826038-Erlang
http://www.csdn.net/article/2015-10-26/2826038-Erlang
關於mq:
http://www.rabbitmq.com/access-control.html
http://www.infoq.com/cn/articles/kafka-analysis-part-1/
https://www.zhihu.com/question/22480085
相關文章
- Linux如何安裝RabbitMQLinuxMQ
- Linux中如何安裝RabbitMQ?在linux系統中安裝Rabbitmq的方法LinuxMQ
- 【RabbitMQ】安裝MQ
- 安裝RabbitMQMQ
- Windows RabbitMQ安裝WindowsMQ
- Docker安裝RabbitmqDockerMQ
- Mac 安裝 RabbitMQMacMQ
- docker 安裝 RabbitMQDockerMQ
- Ubantu 安裝 rabbitMQMQ
- mac安裝rabbitmqMacMQ
- centOS安裝rabbitMQCentOSMQ
- Ubuntu 安裝 RabbitMQUbuntuMQ
- RabbitMQ安裝配置(CentOS)MQCentOS
- rabbitMq急速安裝教程MQ
- CentOS7安裝rabbitmqCentOSMQ
- Rabbitmq安裝與配置MQ
- Linux下安裝RabbitMQLinuxMQ
- centos 7 安裝 rabbitMqCentOSMQ
- Docker Compose 安裝 RabbitMQDockerMQ
- 在 windows下安裝rabbitmqWindowsMQ
- RabbitMQ簡介及安裝MQ
- centos7.8 安裝RabbitmqCentOSMQ
- Centos7安裝RabbitMQCentOSMQ
- RabbitMQ 安裝與介面管理MQ
- Ubuntu20.04安裝RabbitMQUbuntuMQ
- 安裝RabbitMQ Server服務MQServer
- RabbitMQ入門 -- 阿里雲伺服器安裝RabbitMQMQ阿里伺服器
- docker 安裝mysql redis activemq rabbitmqDockerMySqlRedisMQ
- RabbitMQ學習筆記-安裝MQ筆記
- Windows環境下安裝RabbitMQWindowsMQ
- RabbitMQ安裝過程詳解MQ
- CentOS6.x安裝RabbitMQCentOSMQ
- RabbitMQ學習系列一:windows下安裝RabbitMQ服務MQWindows
- Spring Boot(十三)RabbitMQ安裝與整合Spring BootMQ
- PHP 安裝 amqp、rabbitmq 擴充套件PHPMQ套件
- RabbitMQ Centos7 安裝以及使用MQCentOS
- rabbitmq安裝使用問題彙總MQ
- RabbitMQ 使用場景、安裝、工作模式MQ模式