我的系统环境为Contos7,rabbitmq的版本为3.6.5
安装与卸载
此文章分为安装和卸载两部分
1.安装
因为RabbotMq是用erlang语言开发的,所以要想安装Rabbitmq的话就必须有relang的环境。
RabbotMq依赖于Erlang、socat,因此要首先安装Erlang与socat
1.1 安装erlang
1.1.1 erlang简介
Erlang是一种通用的面向并发的编程语言,Erlang是运行于虚拟机的解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式。顺序执行的Erlang是一个及早求值,单次赋值和动态类型的函数式编程语言。
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅只是一两个环节,比起C程序的线程切换要高效得多得多了。使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果需要更高效的话,字节代码也可以编译成本地代码运行。
1.1.2 下载erlang安装包
有两种下载方式
1.官网下载 :https://www.erlang-solutions.com/resources/download.html
2.网盘下载(版本是18.3):
链接:https://pan.baidu.com/s/1Avh_jmDzJTeoypg-3IhNCg
提取码:lb6i
复制这段内容后打开百度网盘手机App,操作更方便哦
1.1.3 安装erlang
1.将安装包放到随便的一个文件夹中,我是在home下创建了一个rabbitmq文件夹,放到了里面,位置不是固定的,随意放,只要记得放在哪就行了。
2.切换到刚才放入安装包的路径下,然后执行以下安装命令
命令:rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
1.1.4 测试erlang
1.2 安装socat
1.2.1 socat简介
socat支持多协议,用于协议处理,端口转发,rabbitmq依赖于socat,因此在安装rabbitmq前要安装socat。
socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 。 socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设(终端或调制解调器等)、插座(Unix,IP4,IP6- raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。 Socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。多个选项可用于调整socat和其渠道,Socat可以作为TCP中继(一次性或守护进程),作为一个守护进程基于socksifier,作为一个shell Unix套接字接口,作为IP6的继电器,或面向TCP的程序重定向到一个串行线。 socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp, ipv6,pipe,exec,system,open,proxy,openssl,socket等。
1.2.2 下载socat安装包
有以下几种下载方式
1.官网下载 :http://www.dest-unreach.org/socat/
2.官网rpm下载:http://www.rpmfind.net/linux/rpm2html/search.php?query=socat(x86-64)
3.网盘下载(版本是1.7.3.2):
链接:https://pan.baidu.com/s/1f1Tjv9Z_fe9x8gSEj4EV5w
提取码:92z8
1.1.3 安装socat
1.将安装包放到随便的一个文件夹中,我是在home下创建了一个rabbitmq文件夹,放到了里面,位置不是固定的,随意放,只要记得放在哪就行了。
2.切换到刚才放入安装包的路径下,然后执行以下安装命令 命令:rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm
3.如果当前服务器yum安装了旧版本的GPG key会造成以下错误
4.出现这种错误的时候就在命令后面加上–force --nodeps 例:rpm -ivh *.rpm --force --nodeps
1.3 安装RabbitMq
1.3.1 RabbitMq简介
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
1.3.2 下载RabbitMq安装包
有以下几种下载方式
1.官网下载 :https://www.rabbitmq.com/download.html
2.网盘下载(版本是3.6.5):
链接:https://pan.baidu.com/s/14uNe2ydu9_L4OsulmB_R6Q
提取码:vmg3
1.3.3 安装RabbitMq
1.将安装包放到随便的一个文件夹中,我是在home下创建了一个rabbitmq文件夹,放到了里面,位置不是固定的,随意放,只要记得放在哪就行了。
2.切换到刚才放入安装包的路径下,然后执行以下安装命令 命令:rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
3.默认安装在/usr/lib/rabbitmq路径下
1.3.4 MQ基本操作
1.3.4.1 启动停止
service rabbitmq-server start #启动
service rabbitmq-server stop #停止
service rabbitmq-server restart #重启
chkconfigrabbitmq-server on 开机自启
1.3.4.2 开启web界面管理工具,在浏览器中可以查看
执行: rabbitmq-plugins enable rabbitmq_management 进行开启
然后执行: service rabbitmq-server restart 进行重启
1.3.4.3 开启防火墙15672端口(web访问默认端口)
/sbin/iptables-I INPUT -p tcp --dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptablessave
如果用的是阿里云或者腾讯云就还要在相应的控制台的组策略上把端口放开
1.3.4.4 开启guest用户远程访问
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.2/ebin/rabbit.app
去掉{loopback_users, [<<“guest”>>]}中的<<“guest”>>
更改后保存退出就行了
1.3.4.5 浏览器访问:
http://ip:15672/
输入默认的用户名、密码guest,进行登录
这样RabbitMQ就安装成功了
1.4 粗略安装文档以及配置用户和Virtual Hosts:
链接:https://pan.baidu.com/s/1tATxgo0UJLTCQxaDkDPQvw
提取码:xhjq