麒麟系统ARM安装rabbitmq

简介: 记录下麒麟liunx系统安装rabbitmq的踩坑记录,按照我这个步骤来,100%解决问题。 希望对您有帮助!

简单记录下,麒麟系统,安装rabbitmq的踩坑记录。
好了,接下来就开始介绍安装步骤,避免踩坑。

一、安装基础依赖

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

二、下载安装包

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

软件包名 | 下载地址
erlang | http://erlang.org/download/otp_src_20.3.tar.gz
unixODBC | http://www.unixodbc.org/unixODBC-2.3.7.tar.gz
rabbitMq | https://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的时候,会报以下错误:

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.log

Stack 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

image.png

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

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

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

image.png

在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状态

image.png

以上两种命令都可以。

六、安装Web管理界面插件

依次执行下列指令:

开启rabbitmq: rabbitmqctl start_app
开启管理插件:rabbitmq-plugins enable rabbitmq_management
查看插件集合:rabbitmq-plugins list

image.png

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

七、配置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

离线包:自行下载吧。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
10天前
|
NoSQL 关系型数据库 MySQL
涉及rocketMQ,jemeter等性能测试服务器的安装记录
涉及rocketMQ,jemeter等性能测试服务器的安装记录
26 1
|
10天前
|
消息中间件 Shell
rabbitmq安装erlang环境后没生效
rabbitmq安装erlang环境后没生效
774 7
|
10天前
|
消息中间件 网络协议 Linux
用docker方式 安装rabbitmq 并配置MQTT
用docker方式 安装rabbitmq 并配置MQTT
18 0
|
10天前
|
存储 Ubuntu 网络协议
从Ubuntu-base构建ubuntu rootfs系统(以x86_64和arm为例)
本文介绍了基于Ubuntu-base构建自定义Linux系统的过程,适合嵌入式设备。Ubuntu-base是最小文件系统,包含软件包管理器,可以从Ubuntu源轻松安装软件。文章详细阐述了构建步骤,包括准备宿主系统(确保使用与目标系统相同架构的Ubuntu系统)、创建和挂载分区、配置Ubuntu源、设置DNS、添加用户配置、进入chroot环境以及安装软件(如内核、X-window系统等)。对于arm架构,还提供了通过qemu在X86_64系统上构建arm rootfs的方法。整个过程强调了定制和灵活性,适合对Linux系统有深入了解的开发者。
44 0
|
10天前
|
存储 Linux Docker
arm安装docker与docker-copose
现在,你已经成功在ARM架构的设备上安装了Docker和Docker Compose。你可以使用它们来管理容器和容器化应用程序。请注意,ARM设备上的Docker支持可能受到限制,某些容器可能不兼容。确保你的容器映像支持ARM架构,以便在ARM设备上正确运行。
40 6
|
10天前
|
消息中间件 存储 网络协议
初始&安装RabbitMQ
初始&安装RabbitMQ
31 3
|
10天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
137 0
|
10天前
|
消息中间件 JavaScript 前端开发
Window系统下载与安装RabbitMQ
Window系统下载与安装RabbitMQ
42 0
|
10天前
|
消息中间件 Java Docker
RabbitMQ入门指南(一):初识与安装
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了消息队列、RabbitMQ简介及其安装步骤等内容。
44 0
RabbitMQ入门指南(一):初识与安装
|
10天前
|
编译器
MDK5.38 + 许可证及 ARM Compiler V5 安装
MDK5.38 + 许可证及 ARM Compiler V5 安装