编译安装Erlang+RabbitMQ
楔子
由于国内信创越来越火,客户现场也开始使用国产操作系统替换CentOS之类的开源操作系统,最近做实施的同事找到我,说现场是ARM架构的操作系统编译安装RabbitMQ一直提示无法启动也没有日志文件生成,找过了好几个同事都没解决这才找到我。我就在这里记录下安装步骤及碰到的问题与解决办法。
环境说明
| 名称 | 版本 |
|---|---|
| 麒麟操作系统 | V10系统 飞腾版 ARM 64位架构 |
| Linux内核 | 4.19.90-24.4.v2101.ky10.aarch64 |
| Erlang | 24.2 |
| RabbitMQ | 3.9.1 unix通用版本 |
- 关于RabbitMQ与Erlang版本对应关系,参见:https://www.rabbitmq.com/which-erlang.html
- Erlang源码安装包下载地址:https://github.com/erlang/otp/releases
- RabbitMQ源码安装包下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
安装基础编译环境
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查一下你的命令是从哪响应的。
参考:
- https://github.com/erlang/otp
- https://www.rabbitmq.com/install-generic-unix.html
- https://www.rabbitmq.com/which-erlang.html
- https://blog.csdn.net/weixin_42831477/article/details/113581383
编译安装Erlang+RabbitMQ的更多相关文章
- CentOS 6.9编译安装Erlang
转自http://www.jb51.net/article/59823.htm 这篇文章主要介绍了CentOS 6.5源码安装Erlang教程,本文讲解了源码编译安装的过程和遇到的一些错误处理方法,需 ...
- Centos 6.4 安装erlang&rabbitmq
1. 安装 erlang 1.1 准备工作,先安装依赖库 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-d ...
- centos7 安装erlang rabbitMQ
环境: 虚拟机 centos7 minimal 一.安装Erlang 1.安装依赖 yum install build-essential openssl openssl-devel unixODBC ...
- Centos7 安装 erlang rabbitmq
1.安装Erlang依赖采用官网的rpm包的形式进行安装,不采用yum(由系统进行自动安装 可能因为版本低的问题而出现一系列问题) erlang依赖 rpm包下载地址https://github.co ...
- [Erlang 0004] Centos 源代码编译 安装 Erlang
原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Cento ...
- CentOS 6编译安装RabbitMQ
编译安装Python 下载python源文件 [root@localhost src]# tar -xzvf python-2.7.11.tar.gz [root@localhost src]# cd ...
- CentOS 6.5安装Erlang/OTP 17.0
CentOS 6.5安装Erlang/OTP 17.0 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Erlang眼下已经是Fedora和Debian/ ...
- Centos7 安装配置 Rabbitmq Cluster
Rabbitmq介绍 RabbitMQ是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能.健壮以及可伸缩性出名的 ...
- centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装
centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...
随机推荐
- 浪姐打分看不够?用几行Python代码模拟评委打分
大家好鸭~我是小熊猫比赛大家都看过吧,每次是不是都对比赛成绩充满期待.特别是浪姐的打分看的简直欲罢不能- 今天就用Python来模拟评委打分,这个案例很短也很简单,很适合新手跟小白练习. 在某次十佳歌 ...
- 常见的git命令和git->github错误
相关命令 git remote git remote add origin xxx (xxx为仓库链接) 给这个链接取一个名字,为origin git pull git pull <远程主机名& ...
- NC14661 简单的数据结构
NC14661 简单的数据结构 题目 题目描述 栗酱有一天在网上冲浪的时候发现了一道很有意思的数据结构题. 该数据结构形如长条形. 一开始该容器为空,有以下七种操作. 1 a从前面插入元素a 2 从前 ...
- NC20565 [SCOI2009]生日礼物
NC20565 [SCOI2009]生日礼物 题目 题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有 \(N\) 个,分为 \(K\) 种.简单的说,可以将彩带考虑为 \(x\) ...
- arcgis中nodata设为0及其小技巧
一.arcgis中nodata设为0 两个栅格进行叠加,有时会有一部分没有数据,即用identify点击该区域,Value为NoDat a,而不是像其他非空区域一样有值. 此时注意nodata区域要赋 ...
- 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。
LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...
- 40+倍提升,详解 JuiceFS 元数据备份恢复性能优化之路
JuiceFS 支持多种元数据存储引擎,且各引擎内部的数据管理格式各有不同.为了便于管理,JuiceFS 自 0.15.2 版本提供了 dump 命令允许将所有元数据以统一格式写入到 JSON 文件进 ...
- identity server4 授权成功页面跳转时遇到错误:Exception: Correlation failed. Unknown location的解决方法
一.异常信息描述 错误信息,看到这个页面是否耳熟能详担又不知道怎么解决 ,坑死个人不偿命,,,,,,,, 二.处理方法 1.在web项目中增加类SameSiteCookiesServiceCollec ...
- Note -「模拟退火」
随机化算法属于省选芝士体系 0x01 前置芝士 你只需要会 rand 就可以啦! 当然如果你想理解的更透彻也可以先看看 爬山算法 0x02 关于退火 退火是一种金属热处理工艺,指的是将金属缓慢加热到一 ...
- 7.5 The Morning after Halloween
本题主要是存储的问题,在存储上笔者原先的代码占用了大量的内存空间 这边笔者采用暴力的思想直接硬开所有情况的16^6的数组来存储该问题,当然这在时间上是十分浪费的,因为初始化实在太慢了,剩下的就是状态转 ...