centos rabbitmq3.9.7安装遇到的坑 - “no such file or directory“,“crypto.app“

本文档详细介绍了在安装Erlang OTP 24.0后,因缺少crypto插件导致RabbitMQ无法启动的问题及解决步骤。首先,需要下载并编译openssl源码,配置并安装到指定目录。接着,清理并重新编译Erlang源码,指定使用新安装的openssl路径。最后,成功启动RabbitMQ服务器。
摘要由CSDN通过智能技术生成

1.erlang 的crypto依赖包问题:

erlang otp安装的24.0,(安装erlang之前得先安装相关依赖包)

wget https://github.com/erlang/otp/releases/download/OTP-24.0/otp_src_24.0.tar.gz

通过tar安装的(tar -zxvf 解压,然后进入目录执行 configure再make && make install)
然后下载了rabbitmq的包 - 这个解压直接可以用的
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.7/rabbitmq-server-generic-unix-3.9.7.tar.xz

(xz -d 然后 tar -xvf 解压,目录下有个sbin目录,相关启动程序都在这个里面)

然后我执行./rabbitmq-server 启动的时候,报了"no such file or directory","crypto.app"这个错

百度半天,才知道是我装的erlang,没有crypto这个插件
在erl命令行里面输入
crypto:start().
会报错,这个问题解决步骤:
1.下载openssl源码
 wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
解压(tar -zxvf)就好,然后进入目录执行
./config --perfix=/home/openssl-test
这个目录不要和已有的openssl目录冲突,我就随便建了个目录
然后修改Makefile,在gcc哪一行下面的CFLAG那一行后面加个 -fPIC
vim Makefile
CC= gcc
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -fPIC

然后make && make install

然后需要重新编译安装erlang(有参数改动)
进入erlang的源码目录,进行

make clean

然后
./configure --with-ssl=/home/openssl-test --prefix=/usr/local/erlang/

然后make && make install

装好之后,这个/usr/local/erlang/bin/erl命令再次进去执行
crypto:start().
就正常了,我的rabbitmq-server也能正常启动了

参考的Erlang安装时加载openssl的libcrypto.a失败,执行crypto:start()报错的解决方案_Rolong的博客-CSDN博客

这篇文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值