[转帖]编译安装Erlang+RabbitMQ

编译,安装,erlang,rabbitmq · 浏览次数 : 0

小编点评

**楔子** 由于国内信创越来越火,客户现场也开始使用国产操作系统替换CentOS之类的开源操作系统,最近做实施的同事发现我,说现场是ARM架构的操作系统编译安装RabbitMQ一直提示无法启动也没有日志文件生成,找过了好几个同事都没解决这才找到我。我就在这里记录下安装步骤及碰到的问题与解决办法。 **环境说明名称版本麒麟操作系统V10系统 飞腾版 ARM 64位架构Linux内核4.19.90-24.4.v2101.ky10.aarch64Erlang24.2RabbitMQ3.9.1 unix通用版本关于RabbitMQ与Erlang版本对应关系,参见: ``` https://www.rabbitmq.com/which-erlang.htmlErlang源码安装包下载地址:https://github.com/erlang/otp/releasesRabbitMQ源码安装包下载地址:https://github.com/rabbitmq/rabbitmq-server/releases安装基础编译环境 ``` **安装步骤及碰到的问题与解决办法** 1. **安装Erlang** ``` yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl gtk2-devel binutils-devel ``` 2. **解压缩Erlang源码包到/usr/local/otp_src_24.2** ``` tar -zxvf otp_src_24.2.tar.gz -C /usr/local ``` 3. **进入erlang源码编译目录** ``` cd /usr/local/otp_src_24.2/ ``` 4. **创建安装目录** ``` mkdir /usr/local/erlang ``` 5. **检查编译环境,设置安装目录** ``` ./configure --prefix=/usr/local/erlang ``` 6. **编译 & 安装** ``` make& make install ``` 7. **将编译安装的erlang加入环境变量,并使之生效** ``` echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile source /etc/profile ``` 8. **查看是否安装成功** ``` erl -version安装RabbitMQ ``` 9. **解压rabbitmq安装包** ``` tar -xvf rabbitmq-server-generic-unix-3.9.1.tar.xz ``` 10. **移动rabbitmq目录到/usr/local/rabbitmq** ``` mv rabbitmq-server-generic-unix-3.9.1 /usr/local/rabbitmq ``` 11. **将rabbitmq加入环境变量,并使之生效** ``` echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile source /etc/profile ``` 12. **启动RabbitMQ** ``` rabbitmq-server -detached ``` 13. **查看状态** ``` rabbitmqctl status ``` 14. **启用管理插件** ``` rabbitmq-plugins enable rabbitmq_management初始化用户 ``` 15. **添加用户用户名admin 密码123456 ,密码可以自己指定** ``` rabbitmqctl add_user admin 123456 ``` 16. **给budget分配vhost** ``` rabbitmqctl set_permissions -p \"/\" admin \".*\" \".*\" \".*\" ``` 17. **分配管理权限** ``` rabbitmqctl set_user_tags admin administrator ``` 18. **重启rabbitmq** ``` rabbitmqctl stop && rabbitmq-server -detached重启后访问 15672 端口进入Web管理界面,安装与初始化部署到这里就结束了,下边记录些错误情况遇到的问题执行 rabbitmq-server 报如下错误: ``` {\"init terminating in do_boot\",{error,{crypto,{\"no such file or directory\",\"crypto.app\"}}} ``` **提示** 1. 在编译过程中,如果发现crypto库找不到,请安装openssl和openssl-devel库。 2. 在操作时,需要带简单的排版。

正文

https://www.cnblogs.com/hellxz/

 

楔子

由于国内信创越来越火,客户现场也开始使用国产操作系统替换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相似的内容:

[转帖]编译安装Erlang+RabbitMQ

https://www.cnblogs.com/hellxz/ 楔子 由于国内信创越来越火,客户现场也开始使用国产操作系统替换CentOS之类的开源操作系统,最近做实施的同事找到我,说现场是ARM架构的操作系统编译安装RabbitMQ一直提示无法启动也没有日志文件生成,找过了好几个同事都没解决这才找

[转帖]编译安装goofys挂载Scaleway免费75G对象存储

日常•2022年5月29日 goofys编译 goofys是一个开源的使用Go编写的s3存储桶挂载工具,主打高性能。由于使用Go编写,没有用到什么特别的依赖,自己编译也很容易。截止2022.5.27,官方github仓库貌似一直有提交,但是提供的预编译安装包貌似只到2020年4月,而且只有x86版本

[转帖]OpenResty编译安装

https://www.cnblogs.com/lizexiong/p/15012869.html OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 We

[转帖]Tengine编译安装

https://www.cnblogs.com/lizexiong/p/15012824.html Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine 的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得

[转帖]Nginx源码编译安装

https://www.cnblogs.com/lizexiong/p/15012713.html Nginx 是一款优秀的开源软件,支持在 FreeBSD、Linux、Windows、macOS 等多种操作系统平台下编译及运行。CentOS 拥有良好的系统结构和工具软件生态环境,是一款基于 Lin

[转帖]Linux下编译安装配置python3.9

Linux版本:CentOS-7.8-x86_64-Minimal-2003 操作用户:root (1)依赖包安装: 如果是Linux的minimal系统,需要安装: yum install -y vim wget tftp lrzsz bzip2 zip unzip net-tools bind-

[转帖]如何在本地编译安装部署自动化回归测试平台 AREX

https://zhuanlan.zhihu.com/p/613877597 AREX 官方 QQ 交流群:656108079 本文将详细为大家介绍一下自动化回归测试平台 AREX 以及如何在本地进行编译安装部署。 背景 AREX 是一款开源的自动化回归测试工具, 基于 Java Agent 技术,

[转帖]如何在本地编译安装部署自动化回归测试平台 AREX

https://zhuanlan.zhihu.com/p/613877597 AREX 官方 QQ 交流群:656108079 本文将详细为大家介绍一下自动化回归测试平台 AREX 以及如何在本地进行编译安装部署。 背景 AREX 是一款开源的自动化回归测试工具, 基于 Java Agent 技术,

[转帖]unmatched(riscv64)上编译,安装和移植SPEC CPU 2006

https://zhuanlan.zhihu.com/p/429399630 Linux ubuntu 5.11.0-1021-generic #22-Ubuntu SMP Tue Sep 28 15:19:16 UTC 2021 riscv64 riscv64 riscv64 GNU/Linux

[转帖]GoAccess的简单处理

编译安装 安装 GoAccess 非常的容易。只需要下载、解压以及编译就好了: $ wget http://tar.goaccess.io/goaccess-1.2.tar.gz $ tar -xzvf goaccess-1.2.tar.gz $ cd goaccess-1.2/ $ ./confi