麒麟系统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

离线包:自行下载吧。

相关推荐
陈奕迅本讯7 分钟前
rabbitMQ
分布式·rabbitmq
田猿笔记2 小时前
RabbitMQ 实现消息队列负载均衡
分布式·rabbitmq·负载均衡
HoHeHa2 小时前
RabbitMQ 管理平台(控制中心)的介绍
java·rabbitmq
不想睡觉的橘子君2 小时前
【MQ】RabbitMQ、RocketMQ、kafka特性对比
kafka·rabbitmq·rocketmq
qq_203769492 小时前
debian11安装最新rabbitmq
linux·rabbitmq
杨半仙儿还未成仙儿2 小时前
rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
分布式·面试·rabbitmq
上海知从科技2 小时前
知从科技受邀出席ARM日产技术日
arm开发·科技
Jeffrey侠客6 小时前
.Net Core 6.0 WebApi在Centos中部署
linux·centos·.netcore
WiFiMing12 小时前
nginx的基本安装与服务器配置
linux·运维·centos
小码哥呀12 小时前
RabbitMQ如何保证发送的消息可靠(RabbitMQ的Confirm模式和2.Return模式)
分布式·rabbitmq