上一篇<<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

内容如下

[erlang-solutions] name=CentOS $releasever - $basearch - Erlang Solutions baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch gpgcheck=1 gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc enabled=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的更多相关文章

  1. RabbitMQ上手记录–part 3-发送消息

    接上一part<<RabbitMQ上手记录–part 2 - 安装RabbitMQ>>,这里我们来看看如何通过代码实现对RabbitMQ的调用. RabbitMQ通常是安装在服 ...

  2. RabbitMQ上手记录–part 6-Shovel

    上一part<RabbitMQ上手记录–part 5-节点集群高可用(多服务器)>讲到了通过多个服务器来搭建RabbitMQ的节点集群,示例当中提到的服务器都是在同一个局域网中的(实际上是 ...

  3. RabbitMQ上手记录–part 5-节点集群高可用(多服务器)

    上一part<RabbitMQ上手记录–part 4-节点集群(单机多节点)>中介绍了RabbitMQ集群的一些概念以及实现了在单机上运行多个节点,并且将多个节点组成一个集群. 通常情况下 ...

  4. 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 ...

  5. 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.安 ...

  6. RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)

    最近在学习Spring Cloud,其中消息总线Spring Cloud Bus是必不可少的,但是Spring Cloud Bus目前只支持RabbitMQ和kafka,因此学习RabbitMQ势在必 ...

  7. RabbitMQ上手记录–part 4-节点集群(单机多节点)

    现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问.RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面.当然在RabbitMQ在被广泛应用于 ...

  8. RabbitMQ 上手记录-part 1-基础概念

    RabbitMQ是什么,不用多介绍了,毕竟名声在那,江湖地位摆着,搜索引擎收录着.为什么突然去学习这个框架了,毕竟工作中没有用得上(说来也惭愧,工作中开发的项目没有使用这个框架).但是作为互联网分布式 ...

  9. celery+RabbitMQ 实战记录2—工程化使用

    上篇文章中,已经介绍了celery和RabbitMQ的安装以及基本用法. 本文将从工程的角度介绍如何使用celery. 1.配置和启动RabbitMQ 请参考celery+RabbitMQ实战记录. ...

随机推荐

  1. Oracle Client 连接 Server 并通过代码测试连接

    Oracle客户端配置 步骤一: 步骤二: 步骤三: 步骤四: 步骤五: 最后测试成功   注: 如果是客户端配置可以不用添加 程序同样可以进行连接,如果是服务器则需要配置. 程序连接 namespa ...

  2. LinkServer--访问远程数据表三种方式

    在TSQL中访问远程数据库有三种方式:1.OPENROWSET2.OPENDATASOURCE3.LinkServer 在使用openrowset/opendatasource前搜先要启用Ad Hoc ...

  3. WPF制作表示透明区域的马赛克画刷

    最近在用WPF制作一款软件,需要像ps一样表示透明区域,于是制作了一个马赛克背景的style.实现比较简单,那么过程和思路就不表了,直接上代码 <DrawingBrush TileMode=&q ...

  4. Spring 开发第一步(四)Spring与JDBC事务

    Spring使用各种不同的TransactionManager来管理各种不同数据源事务底层(比如jdbc数据源.hibernate数据源.JPA数据源等等).在此基础上使用各种对应的Template来 ...

  5. Redis持久化策略(RDB &AOF)

    redis持久化的几种方式 1.前言 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服 ...

  6. “全栈2019”Java多线程第二十三章:活锁(Livelock)详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  7. Java程序员的日常—— Spring Boot单元测试

    关于Spring boot 之前没有用Spring的时候是用的MockMvc,做接口层的测试,原理上就是加载applicationContext.xml文件,然后模拟启动各种mybatis\连接池等等 ...

  8. 频繁项集挖掘之apriori和fp-growth

    Apriori和fp-growth是频繁项集(frequent itemset mining)挖掘中的两个经典算法,虽然都是十几年前的,但是理解这两个算法对数据挖掘和学习算法都有很大好处.在理解这两个 ...

  9. java.util包详解

    介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...

  10. gitlab改变服务器ip

    一./home/git/gitlab/config/unicorn.rb 其中的ip需要修改,否则unicorn无法启动. 二./home/git/gitlab-shell/config.yml 其中 ...