搜索引擎找了一圈,没找到离线安装emqx的方案。如果按照官方文档离线直接装会有各种各样的错误
比如
The on_load function for module crypto returned:
{error,{load_failed,"Failed to load NIF library /usr/lib/emqx/lib/crypto-5.0.6.2/priv/lib/crypto: 'libcrypto.so.1.1: wrong ELF class: ELFCLASS32'"}}这种错误
还有些国内的博客都是我抄你,你抄我。于是发挥主观能动性,自己研究研究。
在无网络的情况下安装emqx需要以下几步
1.安装全功能的centos系统,勾选所有的开发工具包安装
2.centos9 修改/etc/yum.repos.d/centos. Repo 将里面公网地址改为局域网地址,并且在局域网内设置对应的http服务器,下载所有metalink里的文件放到局域网服务器上.
3.下载perl-FindBin的rpm并且安装
4.安装openssl,github下载openssl源码,然后编译。编译命令
./config --prefix=/usr/local --openssldir=/etc/ssl --libdir=lib enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers -DOPENSSL_NO_GOST zlib shared
make -j8
make install
注意config的时候参数一定要按照以上参数来,否则编译不出libcrypto.so.1.1这个东西
5.安装emqx的rpm
6.emqx start运行