参考资料:http://blog.csdn.net/yunfeng482/article/details/72853983

一、rabbitmq简介

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。

RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议

二、安装

1. 依赖环境的安装。

[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分布式语言开发的)

三种方法安装:编译安装,rpm安装,yum安装。我这里下载的rpm包安装的。

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语言编译配置选项:

  –prefix 指定安装目录 
  –enable-smp-support启用对称多处理支持(Symmetric Multi-Processing对称多处理结构的简称)

  –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消息中间件就搭建完成了。

CentOS6.8搭建rabbitmq消息中间件的更多相关文章

  1. centos6.5搭建rabbitmq服务器(单机)

    安装编译工具 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 安装Erlang 1. 下载erl ...

  2. Java 搭建 RabbitMq 消息中间件

    前言 当系统中出现"生产"和"消费"的速度或稳定性等因素不一致的时候,就需要消息队列. 名词 exchange: 交换机 routingkey: 路由key q ...

  3. spring boot / cloud (九) 使用rabbitmq消息中间件

    spring boot / cloud (九) 使用rabbitmq消息中间件 前言 rabbitmq介绍: RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.它可以用于大型软件系统 ...

  4. Centos6.9下RabbitMQ集群部署记录

    之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...

  5. CentOS6.6搭建LNMP环境

    CentOS6.6搭建LNMP环境 1.设置yum源,本地安装依赖包 1 yum -y install gcc gcc-c++ automake autoconf libtool make 2.下载依 ...

  6. Centos6一键搭建L2TP VPN服务器

    用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式.本脚本结合了L2TP(Layer Tunneling Protocol)和IPSec(Internet Protocol Security), ...

  7. centos6.5vpn搭建

    centos6.5vpn搭建整个搭建流程,服务端,客户端安装及测试. 达到的效果: 在安装vpn客户端的机器可通过vpn(virtual private network)专用线路(vpn主配置文件中定 ...

  8. CentOS6.5 搭建基础PHP环境(yum安装)

    转载:闲来无事 » CentOS6.5 搭建基础PHP环境(yum安装) yum安装php环境只需要几条简单的命令就可以实现,OK,各位客官,菜来了.首先确保你的yum源可用,或者网络是通的,不然下载 ...

  9. centos6.7搭建DHCP服务器

    centos6.7搭建DHCP服务 2017-03-24 09:47:16 系统环境: centos6.7 安装之前首先使用rpm –qa | grep dhcp查看系统中是否已安装了dhcp软件包. ...

随机推荐

  1. shell脚本--shift参数左移

    参数左移什么意思呢?这个参数指的是在运行脚本时,跟在脚本名后面的参数,前面已经讲过,可以使用$#来获取参数的个数,使用$*来获取所有的参数,而参数左移的含义是这样的:有个指针指向参数列表第一个参数,左 ...

  2. Spring MVC (Java),强制页面不缓存

    response.setDateHeader("Expires",0);        response.setHeader("Buffer","Tr ...

  3. HMM模型学习笔记(维特比算法)

    维特比算法(Viterbi) 维特比算法  编辑 维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中.术语“维特比 ...

  4. HMM模型学习笔记(前向算法实例)

    HMM算法想必大家已经听说了好多次了,完全看公式一头雾水.但是HMM的基本理论其实很简单.因为HMM是马尔科夫链中的一种,只是它的状态不能直接被观察到,但是可以通过观察向量间接的反映出来,即每一个观察 ...

  5. jmeter作用域规则

    创建测试计划时,会创建一个有序的一系列将要被执行的请求列表,这些请求通常被组织在有序的控制器下 一些控制器会影响包含在它下面的请求顺序 ,这些特殊的控制器可以参考这里:the component re ...

  6. BZOJ3298[USACO 2011Open]cow checkers——威佐夫博弈

    题目描述 一天,Besssie准备和FJ挑战奶牛跳棋游戏.这个游戏上在一个M*N的棋盘上, 这个棋盘上在(x,y)(0<=x棋盘的左下角是(0,0)坐标,棋盘的右上角是坐标(M-1,N-1). ...

  7. Sightseeing tour HDU - 1956(混合欧拉回路)

    题意: 有n个点,m条边,其中有单向边和双向边,求是否存在欧拉回路 解析: 刚开始想...判断一下每个点的度数不就好了...emm..还是年轻啊.. 判断是解决不了问题的,因为可能会有某两个点冲突,比 ...

  8. 架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux

    点击返回架构师成长之路 架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux 所谓的无人值守,就是自动应答,当安装过程中需要人机交互提供某些选项的答案时(如如何分区),自动应答文 ...

  9. 【bzoj3064】 CPU监控

    http://www.lydsy.com/JudgeOnline/problem.php?id=3064 (题目链接) 题意 给出一个长度为$n$的数列$A$,同时定义一个辅助数组$B$,$B$开始与 ...

  10. 网络编程——socket(四十三)

    http://www.cnblogs.com/linhaifeng/articles/6129246.html#_label7 http://www.cnblogs.com/linhaifeng/ar ...