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. 如何应对HR小姐姐的千年历史遗留问题:你为什么从上家公司离职?

    最近找我询问面试问题的学生比较多,而且问的问题基本上都是课堂上讲过的,好吧,在此心疼自己三秒钟. 那么今天就为各位宝宝们整理一下,如何优雅的回复HR小姐姐的这个千年历史遗留问题:你为什么从上家公司离职 ...

  2. Android中Intent的各种常见作用。

    Android开发之Intent.Action  1 Intent.ACTION_MAIN String: android.intent.action.MAIN 标识Activity为一个程序的开始. ...

  3. CALL/APPLY、一些编程基础以及一些基础知识、正则

    call.apply.bind 求数组的最大值和最小值: 数组排序(SORT的原理->localeCompare实现汉字比较),取头取尾 假设法 利用APPLY传参传递的是一个数组的机制,借用M ...

  4. Mongodb 对于Sort排序能够支持的最大内存限制查看和修改

    MongoDB Server对于Sort排序能够支持的最大内存限制查看: > use admin switched to db admin >db.runCommand({ getPara ...

  5. swagger 以及swaggerUI使用的步骤

    1.swagger,可以这么理解swagger是接口规范.Rest Api 传递参数的除了get请求外,put post,需要传递json.或者就是直接都通过传递json到后台 这里主要介绍一下spr ...

  6. 2,Java中的数据结构

    1,字符串(String) ···String为特殊的引用类型,不可变. ···常用实例方法:     获取子串:substring(start, end);     获取索引:indexOf(cha ...

  7. es6中的属性名表达式

    代码如下: 问题: 为什么我可以这样给obj1对象添加动态属性? 为什么我最终的结果是只添加了right属性? 解答: 1. 第一个问题解答如下: 我们知道在es5中给对象添加属性有两种方法,一种是通 ...

  8. ES6/JavaScript一些‘巧用’

    前言 第一次发表文章,如有不好的地方请见谅/ 在编写JavaScript代码的时候存在的一些方法和技巧,虽然有时候条条大路都通向罗马,但是也许总会有那么一条最短的路径可走.本文将一些都知道却不怎么用的 ...

  9. Python学习笔记--迭代

    在Python中,迭代是通过for ... in来实现.只要是可迭代的对象都可以用for ... in来进行历遍. 常用的有list.tuple.dict等.举例如下: 列表的迭代: L=[1,2,3 ...

  10. JZOJ 1736. 扑克游戏 (Standard IO)

    1736. 扑克游戏 (Standard IO) Time Limits: 1000 ms Memory Limits: 128000 KB Description 有一棵无穷大的满二叉树,根为sta ...