麒麟系统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.rhkb.cn/news/304467.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现自动打包py及替换pyinstaller --add-data参数的方法

2024年了,PyInstaller已经来到了6.5.0版本,可我还是不会用它那个--add-data的方法,度了几圈试了试,始终不(行)如(不)意(通),就是没能把附加文件&a…

【nodejs基础学习三-浏览器偏好设置】

系列文章目录 第一章 nodejs基础学习–注释、变量、运算符、字符串、函数(一) 第二章 nodejs基础学习–循环、对象字符、模块导入出(二) 第三章 nodejs基础学习三-浏览器设置 系列文章目录一、开发者模式二、web偏好设置 一、开发…

2021年团体程序设计天梯赛-总决赛_L1

标题:L1-1 人与神 题目: 跨界大神 L. Peter Deutsch 有一句名言:“To iterate is human, to recurse divine.”(迭代的是人,递归的是神)。本题就请你直接在屏幕上输出这句话。 输入格式: 本题没…

Linux之线程互斥与同步

1.线程互斥相关概念 临界资源:多线程执行流共享的资源就叫做临界资源 。 临界区:每个线程内部,访问临界自娱的代码,就叫做临界区。 互斥:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临…

后端nginx使用set_real_ip_from获取用户真实IP

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址. 前言:Nginx ngx_http_realip_module…

MapMagic 2 Splines (Beta)

请注意,要使用该模块则必须安装带对象模块的 MapMagic 2 才行。此模块目前正处于早期体验阶段。其功能有限。 MapMagic 2 世界生成器的官方模块。把样条线带到 MapMagic 中,可用于创建道路、溪流、河流或其他加长的对象。 下载:​​Unity资…

c 语言 斐波那契搜索(Fibonacci Search)

给定一个大小为 n 的排序数组 arr[] 和要在其中搜索的元素 x。如果 x 存在于数组中,则返回 x 的索引,否则返回 -1。 例子: 输入: arr[] {2, 3, 4, 10, 40}, x 10输出: 3 元素 x 出现在索引 3 处。 输入&#xff1…

数据结构-合并两个有效数组

题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,…

意得辑意得辑

你是否也曾遇到过在发表论文时英语写作水平不尽如人意的困境?审稿意见总是指出语言表达不够好,需要找英语母语者修改?不用担心,我和你一样,也曾历经这样的挑战。但是,我找到了一家值得信赖的专业润色机构—…

Apache Incubator Answer 本地开发部署

文章目录 简介Github文档插件部署 Answer开发环境编译项目初始化项目运行项目 简介 一款适合任何团队的问答平台软件。 Apache Incubator Answer是一个开源项目,它是一个用于构建和部署问答系统的框架。该项目是Apache软件基金会的孵化器项目,提供一个…

Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库

今天推荐一个可以快速开发 ChatGPT UI 界面的组件库,质量很高,拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库,和我之前推荐的很多通用型的 UI 组件库不同,Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…

一起学习python——基础篇(13)

前言,python编程语言对于我个人来说学习的目的是为了测试。我主要做的是移动端的开发工作,常见的测试主要分为两块,一块为移动端独立的页面功能,另外一块就是和其他人对接工作。 对接内容主要有硬件通信协议、软件接口文档。而涉…

Mybatis-Plus快速入门

MyBatisPlus 通过扫描实体类,并基于反射获取实体类信息作为数据库信息 类名驼峰转下划线作为表名为id的字段作为主键变量名驼峰转下划线作为表的字段名 遵守这些约定MyBatisPlus就会自动生成字段,方便我们快速实现 一、快速入门 起步依赖 MyBatisPlus…

天软特色因子看板 (2024.4 第3期)

该因子看板跟踪天软特色因子A05005(近一月单笔流出金额占比(%),该因子为近一月单笔流出金额占比(% 均值因子,用以刻画下跌时的 单成交中可能存在的抄底现象 今日为该因子跟踪第3期,跟踪其在SH000852 (中证1000) 中的表现,要点如下…

加州大学欧文分校英语基础语法专项课程01:Word Forms and Simple Present Tense 学习笔记

Word Forms and Simple Present Tense Course Certificate 本文是学习Coursera上 Word Forms and Simple Present Tense 这门课程的学习笔记。 文章目录 Word Forms and Simple Present TenseWeek 01: Introduction & BE VerbLearning Objectives Word FormsWord Forms (P…

vivado 调试核时钟设置指南

调试核时钟设置指南 注释 : 以下章节适用于 7 系列、 UltraScale 和 UltraScale 器件。 Versal 调试核使用基于 AXI 的连接 , 且不受本章中的 时钟设置指南的约束。 Vivado 硬件管理器使用 JTAG 接口来与 Vivado Debug Hub 核进行通信 &#…

Dubbo 序列化

Dubbo 序列化 1、什么是序列化和反序列化 序列化(serialization)在计算机科学的资料处理中,是指将数据结构或对象状态转换成可取用格式(例如存成文件,存于缓冲,或经由网络中发送),…

物联网实验

实验1 基于ZStack光敏传感器实验 1.实验目的 我们通过上位机发指令给协调器,协调器把串口接收到的指令通过Zigbee协议无线发送给带有光敏传感器的终端节点,获取到数据以后把数据返回给上位机,实现无线获取数据的目的。 2.实验设备 硬件&a…

酷开科技一手抓技术,一手抓内容,领跑0TT大屏领域发展

相较于流量池接近饱和的平台而言,OTT市场对于内容创作者是一片新的领域,不同于PC端和移动端,“大屏”设备或许是当下短视频市场不可多得的流量洼地。酷开系统正在用“屏”来为人们构建一个场景智能化的高效率、更便捷、超炫酷的新生活方式。以…

C语言中的数据结构--链表的应用1(2)

前言 上一节我们学习了链表的概念以及链表的实现,那么本节我们就来了解一下链表具体有什么用,可以解决哪些实质性的问题,我们借用习题来加强对链表的理解,那么废话不多说,我们正式进入今天的学习 单链表相关经典算法O…