RabbitMQ上手记录–part 2 - 安装RabbitMQ
上一篇<<RabbitMQ 上手记录-part 1>>介绍了一些基础知识,整理了一些基础概念。接下来整理一些安装步骤和遇到的问题。
我在CentOS7和Ubuntu16.4上都安装成功过,步骤大同小异,这里以CentOS7为例子,整理一下安装步骤。
CentOS是属于Red Hat Enterprise Linux系列的发行版,所以在RabbitMQ官方的安装指南里,需要参考RPM-based的安装指南http://www.rabbitmq.com/install-rpm.html。
类似于其他的软件,RabbitMQ也提供了rpm文件,原以为可以直接安装rpm文件就完事了,实际上没那么简单。
RabbitMQ是基于erlang语言开发的,也就是说必须先安装了erlang才可以。(erlang是什么?据我了解是用于通讯行业的一种编程语言,可实现节点之间的相互通讯,该语言最初由爱立信公司发布,具体还是去google吧)
安装erlang
第一次安装的时候就是卡在了安装erlang语言上,下面是整理后的可行的安装方式。
a.确保启用了EPEL
输入如下命令
yum -y install epel-release
EPEL是用来在安装过程中解决依赖项的问题,会自动安装依赖的软件或组件,这个坑不填了,到最后一步会提示了这找不到,那找不到(也可能是我安装的是最小化版的CentOS有关)。
然后输入以下命令刷新repository
yum repolis
b.安装erlang
根据官方的安装教程可以顺利的走完安装过程
https://www.erlang-solutions.com/resources/download.html
以下是纯安装步骤
下载rpm并安装
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
sudo rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
编辑erlang_solutions.repo
sudo vim /etc/yum.repos.d/erlang_solutions.repo
把gpgcheck设置为1
内容如下
sudo yum install erlang
然后输入erl看看命令行是否可用,正常情况下应该能显示如下界面

还可以进一步写一个helloworld程序验证一下,创建一个hello.erl文件,代码如下
-module(hello).
-export([hello_world/0]).
hello_world() -> io:fwrite("hello, world\n").
然后在erl命令行输入
c(hello).
hello:hello_world().
能看到消息正常输出,那么可以确认erlang安装成功
安装RabbitMQ
在填平了erlang的坑之后,后面安装RabbitMQ就简单多了,直接贴安装过程命令
sudo rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
sudo yum install rabbitmq-server-3.7.4-1.el7.noarch.rpm
sudo chkconfig rabbitmq-server on
sudo /sbin/service rabbitmq-server start
到此安装完毕。
输入如下命令看看服务是否正常启动了
sudo rabbitmqctl status
在输出中能看到running_applications,pid等可以断定服务已经在运行了。
[{pid,21407},
{running_applications,
[{rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.7.4"},
{ranch_proxy_protocol,"Ranch Proxy Protocol Transport","1.4.4"},
{ranch,"Socket acceptor pool for TCP protocols.","1.4.0"},
{ssl,"Erlang/OTP SSL application","8.2.3"},
{public_key,"Public key infrastructure","1.5.2"},
{asn1,"The Erlang ASN1 compiler version 5.0.4","5.0.4"},
{crypto,"CRYPTO","4.2"},
…………………………..
……………………………..
rabbitmqctl是个强大的命令行管理工具,后续会整理一下这个基础的用法,在使用集群的时候要这个命令会用得很多。
RabbitMQ安装运行起来之后,后面就可以为所欲为了,发布/订阅消息,集群和高可用,复制都可以实施 了,更多学习内容整理中。。。。。。。。
RabbitMQ上手记录–part 2 - 安装RabbitMQ的更多相关文章
- RabbitMQ上手记录–part 3-发送消息
接上一part<<RabbitMQ上手记录–part 2 - 安装RabbitMQ>>,这里我们来看看如何通过代码实现对RabbitMQ的调用. RabbitMQ通常是安装在服 ...
- RabbitMQ上手记录–part 6-Shovel
上一part<RabbitMQ上手记录–part 5-节点集群高可用(多服务器)>讲到了通过多个服务器来搭建RabbitMQ的节点集群,示例当中提到的服务器都是在同一个局域网中的(实际上是 ...
- RabbitMQ上手记录–part 5-节点集群高可用(多服务器)
上一part<RabbitMQ上手记录–part 4-节点集群(单机多节点)>中介绍了RabbitMQ集群的一些概念以及实现了在单机上运行多个节点,并且将多个节点组成一个集群. 通常情况下 ...
- ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
ExpandoObject与DynamicObject的使用 using ImpromptuInterface; using System; using System.Dynamic; names ...
- RabbitMQ系列之Centos 7安装RabbitMQ 3.6.1
1.安装EPEL-7: rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.安 ...
- RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)
最近在学习Spring Cloud,其中消息总线Spring Cloud Bus是必不可少的,但是Spring Cloud Bus目前只支持RabbitMQ和kafka,因此学习RabbitMQ势在必 ...
- RabbitMQ上手记录–part 4-节点集群(单机多节点)
现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问.RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面.当然在RabbitMQ在被广泛应用于 ...
- RabbitMQ 上手记录-part 1-基础概念
RabbitMQ是什么,不用多介绍了,毕竟名声在那,江湖地位摆着,搜索引擎收录着.为什么突然去学习这个框架了,毕竟工作中没有用得上(说来也惭愧,工作中开发的项目没有使用这个框架).但是作为互联网分布式 ...
- celery+RabbitMQ 实战记录2—工程化使用
上篇文章中,已经介绍了celery和RabbitMQ的安装以及基本用法. 本文将从工程的角度介绍如何使用celery. 1.配置和启动RabbitMQ 请参考celery+RabbitMQ实战记录. ...
随机推荐
- Microsoft SQL Server 2012 管理 (1): 安装配置SQL Server 重点
SQL Server 可以在实例,数据库,列,查询分别指定排序规则 /* Module 1 - working with Clollations */ -- 1.1 Obtain the Instan ...
- Nodejs异步框架——async
上次的网页爬虫写完后,又打算做一个爬图的工具.前两天已经写好了代码.思路如下: 分析页面还是采用cheerio,对<div>中的img进行分析抽取,拿到图片的url.然后用childpro ...
- Jesery客户端工具类
public class JerseyClientUtil { public static<T> T sendMsg(String url,Object object,Class<T ...
- SQL SERVER 2014--学习笔记1
--======================================================= 在SQL SERVER 2014中,最吸引眼球的就是内存表和本地编译存储过程,在MS ...
- CentOS系统安装遇到的一些问题
Vi操作:按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件 ...
- 嵌入的资源 和 Resource
我们将资源文件添加至.net C#工程时,文件的生成操作有多种可选方式.通常用的多的是两种:[嵌入的资源]和[Resource],如果从需要从代码中使用这些资源文件,不同生成操作则对应不同的引用方式: ...
- On extracting ops from LLVM backend
Symbols and ops generation: llvm::Function* BackendLLVM::build_llvm_instance (bool groupentry) Work ...
- c# 1-2+3-4.....求和
找规律: 下界:1 上界:n class Program { static void Main(string[] args) { ; ; i <=; i++) { ==) { sum -= i; ...
- Android Locale
Locale 是用来适配语言和地区的.在实际使用过程中,如果使用不当还是会出现错误. 首先,需要了解的是,Locale 分两种,一种是语言,一种是地区.语言比如英语,地区比如美国.区别显而易见,说英语 ...
- 如何利用Python绘制一个爱心
刚学习Python几周,闲来无事,突然想尝试画一个爱心,步骤如下: 打开界面 打开Python shell界面,具体是Python语言的IDLE软件脚本. 2.建立脚本 单击左上角’File’,再单击 ...