麒麟系统ARM安装rabbitmq

简单记录下,信创服务器:麒麟系统,安装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的时候,会报以下错误:

复制代码
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.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
复制代码
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
XML 复制代码
./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、 设置环境变量

XML 复制代码
vim /etc/profile

添加如下内容:

XML 复制代码
export PATH=$PATH:/usr/local/erlang/bin

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

XML 复制代码
source /etc/profile

4.2、 运行

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

XML 复制代码
erl

4.3、验证下erlang是否支持ssl

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

五、安装rabbitmq

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

XML 复制代码
tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz

修改环境变量

XML 复制代码
vim /etc/profile

在文件末尾添加

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

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

XML 复制代码
source /etc/profile

5.1、 运行rabbitmq

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

XML 复制代码
rabbitmq-server --detached

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

所以运行命令用这个:

XML 复制代码
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.创建账号

XML 复制代码
rabbitmqctl add_user rabbitmq 123456

7.2.设置用户角色

XML 复制代码
rabbitmqctl  set_user_tags  rabbitmq administrator

7.3.设置用户权限

XML 复制代码
  rabbitmqctl set_permissions -p "/" rabbitmq ".*" ".*" ".*"

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

XML 复制代码
 rabbitmqctl list_users

八、错误总结

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

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

XML 复制代码
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

离线包:自行下载吧。

相关推荐
Albert Edison15 小时前
【RabbitMQ】发布确认模式(使用案例)
分布式·rabbitmq·ruby
dvjr cloi16 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
何中应2 天前
CentOS 7安装、卸载MySQL数据库(二)
数据库·mysql·centos
zhouwy1132 天前
ARM汇编指令集详解
汇编·arm开发
山后太阳2 天前
Keil5(MDK-ARM)完整下载安装教程+入门教程:从零搭建STM32开发环境
arm开发·stm32·嵌入式硬件
zz_lzh2 天前
arm版AI牛马:armbian(rk3588)设备部署openclaw
arm开发·人工智能·arm
idolao2 天前
CentOS 7 安装 jakarta-tomcat-connectors-jk2-src-current.tar.gz 详细步骤(解压、编译、配置)
linux·centos·tomcat
Dontla3 天前
aio-pika介绍(基于asyncio的Python异步消息队列客户端,用于操作RabbitMQ,并实现对AMQP协议支持)
python·rabbitmq·ruby
_F_y3 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(3)
c++·算法·rabbitmq
HABuo3 天前
【linux(四)】套接字编程--基于UDP协议的客户端服务端
linux·服务器·c++·网络协议·ubuntu·udp·centos