计算机系统应用教程网站

网站首页 > 技术文章 正文

一键离线部署x86、arm64 RabbitMQ,花了2天去验证整理,直接拿去

btikc 2024-09-24 08:33:09 技术文章 24 ℃ 0 评论

最近有一个项目,客户是内网网络,只能离线部署,采用的麒麟ARM64服务器系统,不能远程部署,需要提前准备离线部署包让客户IT拷备上去再现场部署,部署时间就只有1天。自家系统采用的vue+springboot 做的,这个不担心,到哪里都能跑,更麻烦的是第三方组件离线部署,尝试了很多网上找到的部署文章,基本上结果都是失败,但功夫不负有心人,基于网上的方法+不断的试错,最终还是成功了,同时也写了一个shell脚本,只需要一个脚本部署完成。只有做过的同学才知道这个苦,记录一下部署方法,希望对有需求的同学们有帮助,不要再走弯路,少浪费点时间。

本文包含了x86_64、ARM64架构的部署文件和脚本,我打包放到网盘里面,有需要的下载,废话不多说。

压缩包里面包含了ncurses、openssl、otp-erlang、perl、rabbitmq文件。除了rabbitmq以外其他都是它运行所需要的依赖。

其中ncurses文件夹下,包含了x86_64的rpm包和arm64的包,如果要在x86_64的服务器上部署,需要先删除掉*.aarch64.rpm包,如果是在arm64架构服务器上部署,删除掉*.x86_64.rpm包。(因为网上下载的ncurses源码,没跑成功,索性找了两个架构对应的rmp包)

对于基础了编译环境,比如 gc c++ 等,基本上服务器都自带,可以不用管,如果遇到太老的系统,可能需要进行升级,那只能说运气不太好,这个地方就不多说基础编译。

我编写了一个脚本,"setup-rabbitmq-offline.sh", 如下图,就是一步一步的执行源码的编译指令,不过多解释,基本上都是基于的语句,相信大家都能看懂。

部署方法:

1、按照文章上面所提到的ncurses 删除非当前架构的 rpm包。(查看文章前部分)

2、解压缩文件 tar -zxvf rabbitmq.x86_64.arm64.tar.gz

3、直接执行解压文件中 “source setup-rabbitmq-offline.sh” 脚本(需要跑估计10-20分钟),

通过rabbitmqctl status 可以查看到rabbitmq是否运行起来

注意:为什么要用source *.sh指令,而不是./,其实两种方式都能成功,但因为脚本里面有 source 刷新环境变量,两个指令的区别主要是 ./ 会开一个子线程来运行,部署完成后,如果想用 erl 或在 rabbitmqctl 等指令就得自己手动在 source /etc/profile ; 而 source *.sh 采用的是主线程再跑,所以跑完了后可以直接使用这些指令。

注意!!!!,遇到的一个大坑,花了好长时间才发现。不要在Windows上解压 rabbitmq-linux 文件夹下的那些依赖包和rabbitmq包,我在windows系统解压,把依赖包都改成文件夹方式,在整体压缩成一个包传到linux服务器,结果就是不管怎么跑,最后结果都是报 erlang版本和rabbitmq所需版本不一致,我反复的创建N次虚拟机来跑都失败,最后最后直接放到linux环境去tar解压,居然成功了,也验证了几次都成功了,哎哎哎。大家可以直接用我整理的包和脚本,直接跑,没问题。

压缩包下载地址:链接:https://pan.baidu.com/s/1xatjws6TGrOtxAREncC26w?pwd=rn2s 提取码:rn2s

如果我整理的部署包和脚本对您有用,麻烦点个赞关注一下,谢谢!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表