RabbitMQ是一个开源消息队列服务器,您可以使用它来构建您的消息传递应用程序。简单地说,您可以将来自一个应用程序的消息放入队列,并从来自相同应用程序或不同应用程序的队列中检索消息。您可以使用多种编程语言来连接RabbitMQ、创建和检索消息。

由于RabbitMQ需要安装erlang才能够运行,所以首先得安装erlang。

第一部分:安装erlang

1,下载erlang安装包并解压

找到erlang的下载页面,进行下载erlang安装包,erlang下载页面是:https://www.erlang.org/downloads   。在下载之前得确认一下安装的RabbitMQ是哪一个版本的,并且版本支持对应的erlang的版本。下面是RabbitMQ支持的erlang的版本的页面查看,地址是https://www.rabbitmq.com/which-erlang.html 。安装mq之前记得去找到对应的erlang版本进行下载。

2,使用yum安装c和perl编译器

由于使用的是源码的方式进行安装erlang,所以得先下载gcc以及perl,还有ncurses-devel,以及openssl,openssl-devel.

[root@localhost ~]# sudo yum -y install openssl-devel gcc perl ncurses-devel

3,重新使用源码的方式安装openssl

如果不重新安装openssl的话,后面执行的过程中会以下错。

wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz
tar xzf openssl-1.1.0b.tar.gz
cd openssl-1.1.0b ./Configure(或者config) no-ssl2 no-ssl3 shared enable-ec_nistp_64_gcc_128
...
make -j
...
make test
...
sudo make install

安装完成之后我们返回到主目录下新建一个erlang的文件夹,一会进行源码安装erlang的时候指定安装到erlang文件夹中。

新建完erlang目录之后,我们接着通过源码来进行安装erlang。

4,通过源码的方式安装erlang

进入上面解压的erlang目录中,进行源码方式的安装。

cd otp_src_21.
LANG=C; export LANG
./configure --prefix=/home/sharplee/erlang 
make
make install

完成之后得配置一下环境变量。

export PATH=$PATH:/home/sharplee/erlang/bin/

 

接着检验一下erlang是否安装成功。

第二部分:安装rabbitMq

1,下载rabbitMq安装包并解压

去rabbitmq的官网上下载安装包,安装包的不同版本的下载地址是,https://github.com/rabbitmq/rabbitmq-server/releases?after=v3.7.24-beta.1  。这里我们下载的是3.7.21.现在之后进行解压。记得下载通用版的https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.21/rabbitmq-server-generic-unix-3.7.21.tar.xz使用wget。

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.21/rabbitmq-server-generic-unix-3.7.21.tar.xz

tar -vxf rabbitmq-server-generic-unix-3.7.21.tar.xz

解压完成之后,接着进入都该目录下进行启动。

2,启动rabbitmq

进入到rabbitmq解压目录下,并且进入到sbin目录下,接着执行./rabbitmq -detached来进行后台启动。

启动完成之后,接着我们来验证一下是否启动成功。

通过上面的步骤,rabbitmq就已经安装成功了,全程只有安装哪个openssl使用了sudo 权限,毕竟要安装到/usr/local目录下的,不启用sudo就没有权限对这个文件夹进行操作。其它过程中都是使用的非root用户进行执行的,毕竟erlang我们是编译之后没有安装到/usr/local/bin下面,而是安装到当前用户的目录下的erlang目录下,记得配置一下环境变量,安装完erlang。执行rabbitmq也可以配置一下环境变量,这样就不用进入到rabbitmq目录下进行启动了。

配置rabbitmq环境变量使用:export进行临时配置,如果要持久配置则需要在.bash_profile中进行配置。

下面是rabbitmq的环境变量的配置。

[sharplee@localhost sbin]$ pwd
/home/sharplee/rabbitmq_server-3.7.21/sbin
[sharplee@localhost sbin]$ export PATH=$PATH:/home/sharplee/rabbitmq_server-3.7.21/sbin

  

好了,以上就是centos 如何安装rabbitmq的过程。

安装过程中的一些错误问题定位路径:https://www.cnblogs.com/myvic/p/9674949.html

Centos 非root用户安装rabbitmq的更多相关文章

  1. linux非root用户安装rabbitmq

    因为rabbitmq是用erlang语言写的,所以装rabbitmq前第一步得先装erlang. 我们到erlang官网https://www.erlang.org/downloads下载安装包,最新 ...

  2. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...

  3. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

  4. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  5. Linux环境(服务器)下非root用户安装Python3.6

    Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...

  6. Linux 以非root用户安装zsh&配置on my zsh

    此文章参考以下三篇文章,如有侵权请联系 Linux非root用户安装zsh, 并用oh-my-zsh进行配置 在没有sudo权限的Linux服务器下安装oh-my-zsh 不使用root权限安装zsh ...

  7. perl 下使用非root用户安装模块

    perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...

  8. Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  9. zzw_非root用户安装python3.5

    目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...

随机推荐

  1. Java Servlet和Java Filter简介

    一:简介servlet 1.什么是Servlet? Servlet可以通过多种方式进行描述,具体取决于上下文: (1)Servlet是一种用于创建web应用程序的技术 (2)Servlet是一个API ...

  2. Lego:美团点评接口自动化测试实践

    概述 接口自动化概述   众所周知,接口自动化测试有着如下特点: 低投入,高产出. 比较容易实现自动化. 和UI自动化测试相比更加稳定. 如何做好一个接口自动化测试项目呢? 我认为,一个“好的”自动化 ...

  3. 解决appium升级后不支持使用name定位的问题

    前言 之前一直用的appium1.4版本,最近升级到了1.6突然发现之前的脚本好多都跑失败了,一看报错: selenium.common.exceptions.InvalidSelectorExcep ...

  4. Kafka配置文件及解释

    broker.id=0num.network.threads=9num.io.threads=24socket.send.buffer.bytes=102400listeners=PLAINTEXT: ...

  5. 为何滴滴会走Uber之路,研发无人驾驶?

    近日,滴滴出行宣布完成新一轮超过55亿美元融资,以支持其全球化战略的推进和前沿技术领域的投资.其中,无人驾驶汽车将是这笔资金重要的投资方向.此前,滴滴在全球范围内的追赶对象Uber不断在无人汽车领域发 ...

  6. HTML笔记06--浮动第一章

    float --浮动 一 1.啥叫浮动? [使元素向左或向右移动,其周围的元素也会重新排列]简言之,就是让盒子并排. 通过float定义浮动 ---------- 未浮动样式代码如下: ------- ...

  7. 滑动表层div时 禁止底层滑动

    $(".container").bind("touchstart", function (events) { startX = events.originalE ...

  8. C#中使用 正则表达式 替换img中src路径但保留图片名

    text = Regex.Replace(text, @"(?i)(?<=<img\b[^>]*?src=\s*(['""]?))([^'"& ...

  9. 简单的节流函数throttle

    在实际项目中,总会遇到一些函数频繁调用的情况,比如window.resize,mouseover,上传进度类似的触发频率比较高的函数,造成很大的性能损耗,这里可以使用节流函数来进行性能优化,主要是限制 ...

  10. (28)ASP.NET Core AutoMapper组件

    1.什么是AutoMapper? AutoMapper是一个对象-对象映射器.对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作.使AutoMapper变得有趣的是,它提供了一些有 ...