上一篇<<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. 用eFrameWork框架实现快捷搜索

    软件系统最大的价值在于用心去帮客户解决各种痛点,需要做好方方面面的工作,数据的快捷搜索就是其中比较重要的一个环节.那么,什么样的搜索方式才是最高效快捷的呢?目前能想到最好的办法是用名称声母检索,用声母 ...

  2. SQL学习笔记2

    2018.10.16:周二 --进阶   --别名 SELECT StuName,StuNum+','+StuClass+','+StuGender+','+StuPhone AS 信息 FROM S ...

  3. 2D Polygons( Poygon) CGAL 4.13 -User Manual

    1 Introduction A polygon is a closed chain of edges. Several algorithms are available for polygons. ...

  4. 关于ubuntu下看视频中文字幕乱码的问题

    试了几个播放器都不行.....然后把字幕文件打开后重新保存成utf-8的.... 可以了!!!! 天呐改编码真是一个万能的办法~ 随手记

  5. 4月第4周业务风控关注 | 网络犯罪经济每年1.5万亿美元 GDP居全球第12位

    本文由  网易云发布. 易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.网络 ...

  6. 使用session的监听器获取当前在线人数

    1首先在web.xml中配置Session的监听器 2创建监听器并且继承HttpSessionListener 3.在jsp中导入监听器 4.获取当前在线人数 5.配置到公共网络(使用natapp的免 ...

  7. 【转】POJ分类很好很有层次感

    OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一 ...

  8. elasticsearch geo_point 地理位置过滤 按经度排序

    elasticsearch 支持强大的经纬度坐标过滤. 1.首先要建立坐标类型的字段'type' ='geo_point' es存储的值是这样的: "poi": [        ...

  9. pythonweb框架Flask学习笔记04-模板继承

    # -*- coding:utf-8 -*- from flask import render_template,Flask app=Flask(__name__) @app.route('/hell ...

  10. iOS根据图片url获取尺寸

    可以在UIImage的分类中加入下面的代码,并且引入系统的ImageIO.framework /** 根据图片的url获取尺寸 @param URL url @return CGSize */ + ( ...