网站首页 > 技术文章 正文
最近有一个项目,客户是内网网络,只能离线部署,采用的麒麟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
如果我整理的部署包和脚本对您有用,麻烦点个赞关注一下,谢谢!
猜你喜欢
- 2024-09-24 RabbitMQ宕机后,消息100%不会丢失吗
- 2024-09-24 非常强悍的 RabbitMQ 总结,写得真好
- 2024-09-24 「服务器」RabbitMQ入门教程——简介及工作原理
- 2024-09-24 在 WebApi 项目中快速开始使用 RabbitMQ
- 2024-09-24 RabbitMQ使用延迟插件,代码量直接降一半?
- 2024-09-24 RabbitMQ 高可用之镜像队列
- 2024-09-24 k8s上创建高可用RabbitMQ集群
- 2024-09-24 Centos7部署RabbitMQ的镜像队列集群
- 2024-09-24 docker分布式部署rabbitmq高可用集群
- 2024-09-24 详解如何用zabbix来监控rabbitmq消息队列服务
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)