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实战记录. ...
随机推荐
- Text Converted into Speech in Pi
Step 1: Convert any text into uint8 type in matlab : Step 2: Add models in matlab : copy the uint8 n ...
- abp+angular+bootstrap-table的使用
问题 materialize与bootstrap框架样式冲突 问题描述 在abp模板项目中引入bootstrap-table,列设置为checkbox,checkbox无法显示. 使用firefox浏 ...
- JavaScript正则表达式匹配中英文以及常用标点符号白名单写法
我们在编程中经常会遇到特殊字符过滤的问题,今天我们提供一种白名单方式过滤 直接上代码 function RegEXP(s) { var rs = ""; for (var i = ...
- MPU6050学习笔记(电源管理器1、2)
Technorati Tags: 嵌入式开发.模块开发 寄存器107号:电源管理器1 PWR_MGMT_1: Description: This register allows the user to ...
- EF动态linq的两种方式
网上收集的资源 我怕遗忘就在自己博客记录下,有些我忘记原文地址了请见谅 这个链接的动态sql方式是 where("c=>c.id==id") https://weblogs ...
- Hbuilder系列索引
『原创』手把手教你搭建一个实用的油耗App(一)
- LD算法的C++实现(基于编辑距离的文本比较算法)
算法看这里: http://www.cnblogs.com/grenet/archive/2010/06/01/1748448.html 用数组实现: #include <iostream> ...
- MyCat - 背景篇(1)
此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. SQL与NoSQL 目前,对于互联网海量数据的存储以及处理,按使用场景,分为OLTP(联机事务处理,比如即时 ...
- 实现单台测试机6万websocket长连接
本文由作者郑银燕授权网易云社区发布. 本文是我在测试过程中的记录,实现了单台测试机发起最大的websocket长连接数.在一台测试机上,连接到一个远程服务时的本地端口是有限的.根据TCP/IP协议,由 ...
- LCS2 - Longest Common Substring II(spoj1812)(sam(后缀自动机)+多串LCS)
A string is finite sequence of characters over a non-empty finite set \(\sum\). In this problem, \(\ ...