当前位置: 首页 > news >正文

麒麟系统ARM安装rabbitmq

简单记录下,信创服务器:麒麟系统,安装rabbitmq的踩坑记录。 

本文章参考了很多大佬文章,我整理后提供。

一、安装基础依赖

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

二、下载安装包

注意:如果你系统没有网络的话,需要离线下载好安装包,然后拷贝进去安装即可。

erlanghttp://erlang.org/download/otp_src_20.3.tar.gz
unixODBChttp://www.unixodbc.org/unixODBC-2.3.7.tar.gz
rabbitMqhttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz


2.1、 安装unixODBC

tar -xvf unixODBC-2.3.7.tar.gz
cd unixODBC-2.3.7
./configure --prefix=/usr/local/unixODBC-2.3.7 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc
//这是编译和安装
make && make install

2.2、这里记得一定要安装openssl ,不然当你启动rabbitmq的时候,会报以下错误:

BOOT FAILED
===========Error description:{error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}}Log files (may contain more information):/usr/local/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq.log/usr/local/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq-sasl.logStack trace:[{rabbit_plugins,ensure_dependencies,1,[{file,"src/rabbit_plugins.erl"},{line,185}]},{rabbit_plugins,prepare_plugins,1,[{file,"src/rabbit_plugins.erl"},{line,203}]},{rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,300}]},{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},{init,start_em,1,[]},{init,do_boot,3,[]}]{"init terminating in do_boot",{error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}}}
init terminating in do_boot ({error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}})Crash dump is being written to: erl_crash.dump...done

三、安装openssl

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1s.tar.gz

tar -zvxf openssl-1.0.1s.tar.gz
cd openssl-1.0.1s
./config --prefix=/usr/local/openssl

vi Makefile

使用/搜索CFLAG 添加如下图所示,其实就是添加-fPIC

make && make install

四、 安装erlang20.3.x

tar -xvf otp_src_20.3.tar.gz
cd otp_src_20.3
./configure --prefix=/usr/local/erlang --with-ssl=/usr/local/openssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
make && make install

4.1、 设置环境变量

vim /etc/profile

添加如下内容:

export PATH=$PATH:/usr/local/erlang/bin

修改完毕后,使该配置文件生效

source /etc/profile

4.2、 运行

安装完成后测试erlang是否能正常运行,终端输入erl

erl

4.3、验证下erlang是否支持ssl

在erl中执行crypto:start().,如果返回ok,则安装成功!

五、安装rabbitmq

解压下载好的rabbitmq-server-generic-unix-3.7.8.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz

修改环境变量

vim /etc/profile

在文件末尾添加

export PATH=$PATH: /home/rabbitmq_server-3.7.8/sbin //根据软件实际存放路径修改

将该软件的地址添加到环境变量中,source该文件使得配置生效

source /etc/profile

5.1、 运行rabbitmq

启动rabbitmq,-detached代表后台守护进程方式启动。

rabbitmq-server –detached

但是用这种方式启动,你关闭中断或者ctrl+c 后程序就stop了。

所以运行命令用这个:

nohup rabbitmq-server &

5.2、查看rabbitmq状态

以上两种命令都可以。 

六、安装Web管理界面插件

依次执行下列指令:

开启rabbitmq: rabbitmqctl start_app

开启管理插件:rabbitmq-plugins enable rabbitmq_management

查看插件集合:rabbitmq-plugins list

如果上面都顺利,重启rabbitmq服务,则可以打开web管理界面:

七、配置web远程登录用户

这里我们以创建个rabbitmq帐号,密码123456为例,创建一个账号并支持远程ip访问。

7.1.创建账号

rabbitmqctl add_user rabbitmq 123456

7.2.设置用户角色

rabbitmqctl  set_user_tags  rabbitmq administrator

7.3.设置用户权限

  rabbitmqctl set_permissions -p "/" rabbitmq ".*" ".*" ".*"

7.4.设置完成后可以查看当前用户和角色(需要开启服务)

 rabbitmqctl list_users

 八、错误总结

openssl记得下载1.0版本的,不要下载3.0版本。

如果安装完otp_src_20.0,erlang,报一下错误:

Makefile:248: /usr/local/otp_src_20.0/make/x86_64-unknown-linux-gnu/otp_ded.mk: No such file or directory error: No curses library functions found

解决办法:

yum install ncurses-devel.x86_64

离线包:自行下载吧。

http://www.lryc.cn/news/333797.html

相关文章:

  • MongoDB数据更新大之大与小中小
  • C语言开发实战:使用EasyX在Visual Studio 2022中创建井字棋游戏
  • Android与RN远程过程调用的原理
  • MySQL-主从复制:概述、原理、同步数据一致性问题、搭建流程
  • 论文阅读《Semantic Prompt for Few-Shot Image Recognition》
  • Linux初学(十七)docker
  • Python---Numpy线性代数
  • react+ echarts 轮播饼图
  • 政安晨:【深度学习神经网络基础】(三)—— 激活函数
  • 使用tomcat里的API - servlet 写动态网页
  • 从0到1搭建文档库——sphinx + git + read the docs
  • EasyExcel 校验后导入
  • 【星计划★C语言】c语言初相识:探索编程之路
  • 搜维尔科技:借助 ARVR 的力量缩小现代制造业的技能差距
  • 数据结构之栈和队列
  • centos安装使用elasticsearch
  • 4.7学习总结
  • 自定义gitlog格式
  • Redission--分布式锁
  • 非关系型数据库(缓存数据库)redis的集群
  • MySQL:表的约束(上)
  • 树莓派5使用体验
  • 代码随想录算法训练营第42天| 背包问题、416. 分割等和子集
  • Node.js安装及环境配置指南
  • 【Java基础】面试题汇总
  • 数据库事务的超级详细讲解,包括事务特性、事务隔离级别、MVCC(多版本并发控制)
  • 鸿蒙Lottie动画-实现控制动画的播放、暂停、倍速播放、播放顺序
  • C++面试100问与自动驾驶100问
  • 加速 Redis 操作:掌握管道技术提升性能与效率
  • 深入浅出 -- 系统架构之分布式系统底层的一致性