CentOS6.8搭建rabbitmq消息中間件

參考資料:http://blog.csdn.net/yunfeng482/article/details/72853983java

1、rabbitmq簡介node

MQ全稱爲Message Queue, 消息隊列(MQ)是一種應用程序對應用程序的通訊方法。應用程序經過讀寫出入隊列的消息(針對應用程序的數據)來通訊,而無需專用鏈接來連接它們。消息傳遞指的是程序之間經過在消息中發送數據進行通訊,而不是經過直接調用彼此來通訊,直接調用一般是用於諸如遠程過程調用的技術。排隊指的是應用程序經過 隊列來通訊。隊列的使用除去了接收和發送應用程序同時執行的要求。其中較爲成熟的MQ產品有IBM WEBSPHERE MQ等等。python

RabbitMQ是一個在AMQP基礎上完成的,可複用的企業消息系統。他遵循Mozilla Public License開源協議c++

2、安裝git

1. 依賴環境的安裝。github

[root@yeebian ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson

2. erlang語言環境的安裝(rabbitMq是用erlang分佈式語言開發的)shell

三種方法安裝:編譯安裝,rpm安裝,yum安裝。我這裏下載的rpm包安裝的。json

wget http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el6.x86_64.rpm
rpm -ivh erlang-18.1-1.el6.x86_64.rpm

erlang語言編譯配置選項:vim

  –prefix 指定安裝目錄 
  –enable-smp-support啓用對稱多處理支持(Symmetric Multi-Processing對稱多處理結構的簡稱)centos

  –enable-threads啓用異步線程支持

  –enable-sctp啓用流控制協議支持(Stream Control Transmission Protocol,流控制傳輸協議)

  –enable-kernel-poll啓用Linux內核poll

  –enable-hipe啓用高性能Erlang –with-ssl 啓用ssl包 –without-javac 
  不用java編譯

配置erlang環境變量:

vim /etc/profile

export PATH=$PATH:/usr/lib64/erlang/bin/    #erlang安裝路徑

source /etc/profil

測試erlang安裝是否成功:

[root@yeebian ~]# erl Erlang/OTP 17 [erts-6.2] [source] [smp:2:2] [async-threads:10] [kernel-poll:false]
Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.1  (abort with ^G)   #erlang版本號

3. 安裝socat包

安裝socat依賴包,不然在安裝rabbitmq時會出現報錯信息以下:

[root@yeebian ~]# rpm -ivh rabbitmq-server-3.6.6-1.el6.noarch.rpm
warning: rabbitmq-server-3.6.6-1.el6.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
error: Failed dependencies:
    erlang >= R16B-03 is needed by rabbitmq-server-3.6.6-1.el6.noarch
    socat is needed by rabbitmq-server-3.6.6-1.el6.noarch

yum安裝socat:

[root@yeebian ~]# yum -y install socat
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.zju.edu.cn
No package socat available.
Error: Nothing to do

此時會報錯沒有socat包或是找不到socat包,解決方法安裝centos的epel的擴展源

[root@yeebian ~]# yum -y install epel-release
[root@yeebian ~]# yum -y install socat     #從新安裝socat

4. 安裝rabbitmq

[root@yeebian ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_11/rabbitmq-server-3.6.11-1.el6.noarch.rpm
[root@yeebian ~]# rpm -i –nodeps rabbitmq-server-3.6.6-1.el6.noarch.rpm   #不作依賴檢查

生成配置文件

[root@yeebian ~]#  cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

啓動rabbitmq

[root@yeebian ~]# service rabbitmq-server start     #報出錯誤信息
Starting rabbitmq-server: rmdir: failed to remove `/var/run/rabbitmq’: Directory not empty 
FAILED - check /var/log/rabbitmq/startup_{log, _err} 
rabbitmq-server.

解決方法:

[root@yeebian ~]# ln -s /usr/lib64/erlang/bin/erl /usr/bin/erl
#並在/etc/hosts中加入一行:127.0.0.1 主機名

再次啓動rabbitmq:

[root@yeebian ~]# service rabbitmq-server start 
Starting rabbitmq-server: SUCCESS 
rabbitmq-server.

成功。

經常使用rabbitMq啓動命令:

service rabbitmq-server   start
service rabbitmq-server   stop
service rabbitmq-server   status
service rabbitmq-server   rotate-logs|
service rabbitmq-server   restart
service rabbitmq-server   condrestart
service rabbitmq-server   try-restart
service rabbitmq-server   reload
service rabbitmq-server   force-reload

ps -ef | grep rabbitmq  查看rabbitMq進程

netstat -anplt | grep LISTEN  rabbitmq默認監聽端口15672/5672

開啓管理頁面插件:

[root@yeebian ~]# rabbitmq-plugins enable rabbitmq_management

添加管理員帳號 :

[root@yeebian ~]# rabbitmqctl add_user rabbitadmin 123456
Creating user "rabbitadmin"
[root@yeebian ~]# rabbitmqctl set_user_tags rabbitadmin administrator    #分配用戶標籤
Setting tags for user "rabbitadmin" to [administrator] 
[root@yeebian ~]# rabbitmqctl list_users      #建立和賦角色完成後查看並確認
Listing users
rabbitadmin [administrator]
guest   [administrator]

登陸rabbitmq管理界面:

瀏覽器輸入地址:http://服務器IP地址:15672/

用戶名密碼:rabbitadmin/123456

自此,整個rabbitmq-server消息中間件就搭建完成了。

相關文章
相關標籤/搜索