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. Django学习之路03

    django项目生命周期 路由层 路由匹配 #urls中的urlpatterns #url()方法 urlpatterns = [ url(r'^admin/', admin.site.urls), ...

  2. React Native 学习笔记--进阶(二)--动画

    React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...

  3. How to Write a README on GitHub

    最近在寫 GitHub 上的 README,發現這個東西好像每個人的寫法都不太一樣,於是稍微整理了一下自己覺得大概要包含哪些內容. Motivation 顧名思義就是簡介一下為什麼會有這個專案,以及這 ...

  4. python基础-基本概念

    python概念介绍 python是一门动态解释型的强类型定义语言,创始人吉多·范罗苏姆(Guido van Rossum) #编译型语言 编译型:一次性将所有程序编译成二进制文件 缺点:开发效率低, ...

  5. celery异步任务框架

    目录 Celery 一.官方 二.Celery异步任务框架 Celery架构图 消息中间件 任务执行单元 任务结果存储 三.使用场景 四.Celery的安装配置 五.两种celery任务结构:提倡用包 ...

  6. 关于HTTP那些事

    写这篇文章的原因 记录前端性能优化用到的关键概念 简化大家对HTTP的学习 大家或许面试的时候可以用得到哦 HTTP是什么 Web的应用层协议(超文本传输协议HyperText Transfer Pr ...

  7. 《高性能javascript》阅读摘要

    最近在阅读这本Nicholas C.Zakas(javascript高级程序设计作者)写的最佳实践.性能优化类的书.记录下主要知识. 加载和执行 脚本位置 放在<head>中的javasc ...

  8. js事件的三个阶段

    js事件的三个阶段分别为:捕获.目标.冒泡 1.捕获:事件由页面元素接收,逐级向下,到具体的元素 2.目标:具体的元素本身 3.冒泡:跟捕获相反,具体元素本身,逐级向上,到页面元素 IE5.5:div ...

  9. JZOJ 1774. 合并果子 (Standard IO)

    1774. 合并果子 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 在一个果园里,多多已经将所有的果子打 ...

  10. Python爬虫 抓肺炎疫情实时数据

    数据下载 网上一搜,首先搜到的是腾讯的疫情实时追踪,那就用这个数据源吧. 有了网址怎么抓数据呢?这里,可以从纷乱中找到最靠谱的下载方式.我习惯用FireFox浏览器,下面的讲解就以FireFox为例( ...