楔子

由于国内信创越来越火,客户现场也开始使用国产操作系统替换CentOS之类的开源操作系统,最近做实施的同事找到我,说现场是ARM架构的操作系统编译安装RabbitMQ一直提示无法启动也没有日志文件生成,找过了好几个同事都没解决这才找到我。我就在这里记录下安装步骤及碰到的问题与解决办法。

环境说明

名称 版本
麒麟操作系统 V10系统 飞腾版 ARM 64位架构
Linux内核 4.19.90-24.4.v2101.ky10.aarch64
Erlang 24.2
RabbitMQ 3.9.1 unix通用版本

安装基础编译环境

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl gtk2-devel binutils-devel

安装Erlang

# 解压erlang源码包到/usr/local/otp_src_24.2
tar -zxvf otp_src_24.2.tar.gz -C /usr/local
# 进入erlang源码编译目录
cd /usr/local/otp_src_24.2/
# 创建安装目录
mkdir /usr/local/erlang
# 检查编译环境,设置安装目录
./configure --prefix=/usr/local/erlang
# 编译 & 安装
make
make install
# 将编译安装的erlang加入环境变量,并使之生效(无需进入目录即可执行)
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
source /etc/profile
# 查看是否安装成功
erl -version

安装RabbitMQ

# 解压rabbitmq安装包
tar -xvf rabbitmq-server-generic-unix-3.9.1.tar.xz
# 移动rabbitmq目录到/usr/local/rabbitmq
mv rabbitmq-server-generic-unix-3.9.1 /usr/local/rabbitmq
# 将rabbitmq加入环境变量,并使之生效(无需进入目录即可执行)
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
source /etc/profile

启动RabbitMQ

# 后台启动
rabbitmq-server -detached
# 查看状态
rabbitmqctl status
# 启用管理插件
rabbitmq-plugins enable rabbitmq_management

初始化用户

# 添加用户 用户名admin  密码123456 ,密码可以自己指定
rabbitmqctl add_user admin 123456
# 给budget分配vhost
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
# 分配管理权限
rabbitmqctl set_user_tags admin administrator
# 重启rabbitmq
rabbitmqctl stop && rabbitmq-server -detached

重启后访问 15672 端口进入Web管理界面,安装与初始化部署到这里就结束了,下边记录些错误情况

遇到的问题

执行 rabbitmq-server 报如下错误:

 {"init terminating in do_boot",{error,{crypto,{"no such file or directory","crypto.app"}}}}
init terminating in do_boot ({error,{crypto,{no such file or directory,crypto.app}}})

提示crypto库找不到,原因是在编译Erlang时crypto依赖的openssl库没找到。

解决办法:安装 openssll、openssl-devel,重新编译安装

yum install -y openssl openssl-devel
cd <Erlang编译目录>
make clean
./configure --prefix=/usr/local/erlang
make
make install

这个错误有参考价值,就拿过来记录下。虽然我在操作时也提示是这个问题,但并不是我编译安装的位置提示出来的!之前几个同事编译时未安装openssl,编译出有问题的Erlang并放到了环境变量很靠前的位置,导致我编译正确的Erlang没被执行。。所以在这里我推荐大家编译安装后用which查一下你的命令是从哪响应的。

参考:

编译安装Erlang+RabbitMQ的更多相关文章

  1. CentOS 6.9编译安装Erlang

    转自http://www.jb51.net/article/59823.htm 这篇文章主要介绍了CentOS 6.5源码安装Erlang教程,本文讲解了源码编译安装的过程和遇到的一些错误处理方法,需 ...

  2. Centos 6.4 安装erlang&rabbitmq

    1. 安装 erlang 1.1 准备工作,先安装依赖库 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-d ...

  3. centos7 安装erlang rabbitMQ

    环境: 虚拟机 centos7 minimal 一.安装Erlang 1.安装依赖 yum install build-essential openssl openssl-devel unixODBC ...

  4. Centos7 安装 erlang rabbitmq

    1.安装Erlang依赖采用官网的rpm包的形式进行安装,不采用yum(由系统进行自动安装 可能因为版本低的问题而出现一系列问题) erlang依赖 rpm包下载地址https://github.co ...

  5. [Erlang 0004] Centos 源代码编译 安装 Erlang

    原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Cento ...

  6. CentOS 6编译安装RabbitMQ

    编译安装Python 下载python源文件 [root@localhost src]# tar -xzvf python-2.7.11.tar.gz [root@localhost src]# cd ...

  7. CentOS 6.5安装Erlang/OTP 17.0

    CentOS 6.5安装Erlang/OTP 17.0 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Erlang眼下已经是Fedora和Debian/ ...

  8. Centos7 安装配置 Rabbitmq Cluster

    Rabbitmq介绍 RabbitMQ是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能.健壮以及可伸缩性出名的 ...

  9. centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

    centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...

随机推荐

  1. python简单处理验证码,三分钟,不能再多了

    序言 大家好鸭, 又是我小熊猫啦 我们在做采集数据的时候,过快或者访问频繁,或者一访问就给弹出验证码,然后就蚌珠了~今天就给大家来一个简单处理验证码的方法 环境模块 Python和pycharm如果还 ...

  2. idea 在创建maven时没有src的解决方法

    在创建maven时    加上archetypeCatalog=internal

  3. CentOS 7 快速安装docker-compose

    安装docker-composegithub的地址下载太慢了,国内可以使用http://get.daocloud.io/#install-compose网站上面的地址. 首先下载docker-comp ...

  4. NC15975 小C的记事本

    NC15975 小C的记事本 题目 题目描述 小C最近学会了java小程序的开发,他很开心,于是想做一个简单的记事本程序练练手. 他希望他的记事本包含以下功能: 1.append(str),向记事本插 ...

  5. PostgreSQL 9.1 飞升之路

    PostgreSQL upgrade 以升级 PostgreSQL 9.1 至 PostgreSQL 11 (跨越 9.2.9.3.9.4.9.5.9.6.10 六个大版本) 为例,本文将分享一下过去 ...

  6. 栈(Stack)和队列

    栈(Stack)和队列 栈是一个后进先出的线性表,它要求只在表尾进行删除和插入操作. 所谓的栈,其实就是一个特殊的线性表.表尾称为栈顶(Top),相应的表头称为栈底(Bottom). 栈的插入(Pus ...

  7. P1494 小Z的袜子 莫队

    题干 就是将$add$和$del$函数里的$ans$变化变成组合数嘛, 先预处理出$x$只相同袜子一共有$f[x] = 1+2+...+$$(x-1)$种组合, 要注意,由于$f[x]$是一直加到$x ...

  8. 官宣!微软发布 VS Code Server!

    北京时间 2022 年 7 月 7 日,微软在 VS Code 官方博客中宣布了 Visual Studio Code Server! 远程开发的过去与未来 2019 年,微软发布了 VS Code ...

  9. Java面向对象(下)作业

    首先我把题目先列到这里,可以仔细看一下题. (1)设计一个名为Geometric的几何图形的抽象类,该类包括: ①两个名为color.filled属性分别表示图形颜色和是否填充. ②一个无参的构造方法 ...

  10. Linux 更改家目录下的目录为英文

    export LANG=en_US xdg-user-dirs-gtk-update