1. rabbitmq的安装部署比redis之类的要麻烦一些. 主要是他是基于erlang写的 而不是基于c或者是c++写的

2. 很多时候编译需要添加很多组件, 但是一些机器可能不会让添加这么多的组建进行处理. 所以得换一个比较简单的方法执行.

3. 首先在一台能够上网, 能够安装yum的机器上面安装 rabbitmq 必须要的组件 注意 我这边选择的机器是 CentOS7 发现  编译出来的文件放到 CentOS8上面启动会失败.

yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc

4. 然后下载 erlang和rabbitmq的 源码tar包.

注意 我这次将 源码包放到了

/opt/apps/rabbitmq3.7.12/ 目录下面
其中 erlang的在这个目录下面的作为二级目录存在. 然后 rabbitmq 直接作为一个完整文件夹存在.

这个目录很关键, 不然那移动了无法使用,.

http://erlang.org/download/otp_src_21.2.tar.gz
https://github-production-release-asset-2e65be.s3.amazonaws.com/924551/48b04b00-3118-11e9-8972-ce191046d204?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201229%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201229T082447Z&X-Amz-Expires=300&X-Amz-Signature=28e656748cf46508ff5d48035fc9e8c2f35e0c0bc18bc379ef1aaf23054713a7&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=924551&response-content-disposition=attachment%3B%20filename%3Drabbitmq-server-generic-unix-3.7.12.tar.xz&response-content-type=application%2Foctet-stream

注意这个可以参照 rabbitmq 与 erlang兼容支持的版本, 我这边直接下了这个版本进行.

5. 解压缩之后在 erlang和rabbitmq 里面执行相关的安装

注意 configure 的时候 不要加任何参数, 避免将安装后的文件 转移到其他目录. 
configure 之后 执行make 操作.

6. 将 erlang 目录下面的 bin 和 lib 之外的文件夹移除. 缩小文件件大小.

文件目录以及效果为:

整个rabbitmq 的目录为:

7. 然后验证服务能否启动, 编译安装的东西比较全, 应该可以启动成功

注意可能没有 libtinfo.so.5 这个文件夹, 建议从 /usr/lib64/ 下面将文件放置到如下目录

验证了下 ubuntu1804和 centos8 还需要将这个文件:libcrypto.so.10 一起放进来.

/opt/apps/rabbitmq3.7.12/otp_src_21.2/lib

8. 可以编写一个文件 第一步 设置 环境变量相关信息

vim /opt/apps/rabbitmq3.7.12/.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export PATH=$PATH:/opt/apps/rabbitmq3.7.12/otp_src_21.2/bin:/opt/apps/rabbitmq3.7.12/sbin:/opt/apps/rabbitmq3.7.12/otp_src_21.2/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/apps/rabbitmq3.7.12/otp_src_21.2/lib
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER= # User specific aliases and functions

第二步 编写一个自动启动的 初始化脚本

cd /opt/apps/rabbitmq3.7.12
scp .bashrc ~/
source ~/.bashrc
#ln -s /opt/apps/rabbitmq3.7.12/otp_src_21.2/lib/libtinfo.so.5 /usr/lib64/libtinfo.so.5
cd /opt/apps/rabbitmq3.7.12
rabbitmq-server -detached
sleep 10
rabbitmqctl add_user admin Test1127
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
rabbitmq-plugins enable rabbitmq_management

给这个文件赋予执行权限, 并且一起打包.

[gscloud@k8smaster apps]$ pwd
/opt/apps
[gscloud@k8smaster apps]$ ll
total 116328
drwxr-xr-x 12 gscloud gscloud 4096 Dec 30 10:12 rabbitmq3.7.12
-rw-rw-r-- 1 gscloud gscloud 119115474 Dec 30 09:50 rabbitmq3.7.12.tar.gz
[gscloud@k8smaster apps]$ tar -czvf rabbitmq3.7.12.tar.gz rabbitmq3.7.12

9. 将文件 挪到 其他服务器的 /opt/apps 目录下

注意 需要添加一个非 root用户. 并且给普通用户赋予足够的执行权限.

chown gscloud:gscloud /opt/apps -R 

10 在如下目录执行命令:

/opt/apps/rabbitmq3.7.12

./init.sh

11. 打开浏览器验证

12 设置开机启动

这个比较简单 但是为了上面能用 需要先设置一下防火墙和计划任务

systemctl  disable firewalld
systemctl stop firewalld
systemctl enable crond
systemctl restart crond

修改一下计划任务 在gscloud的用户下

crontab -e
# 打开计划任务
输入:
@reboot source /home/gscloud/.bashrc && /opt/apps/rabbitmq3.7.12/sbin/rabbitmq-server -deatch 然后重启服务器验证.

CentOS7上面一键部署rabbitmq的简单方法的更多相关文章

  1. CentOS7.2 1511部署RabbitMQ

    一.安装RabbitMQ依赖的的Erlang最小支持包(当然也可以安装完整的Erlang) 1.下载RabbitMQ的Erlang最小支持包源文件 git clone https://github.c ...

  2. centos7部署rabbitMq

    目录 一.消息中间件相关知识... 1 1.概述... 1 2.消息中间件的组成... 1 3 消息中间件模式分类... 2 4 消息中间件的优势... 3 5 消息中间件应用场景... 4 6 消息 ...

  3. 将Flask应用程序部署在nginx,tornado的简单方法

    来自:http://www.xuebuyuan.com/618750.html 在网上搜索了一下部署flask应用的方法,大部分是用wsgi部署在nginx上面,部署了很久,都没有成功,可能是我领悟能 ...

  4. Centos7 中 Node.js安装简单方法

    最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...

  5. 8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署

    这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说 ...

  6. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  7. Linux下安装部署RabbitMQ

    在写正文之前先啰嗦几句,RabbitMQ(消息队列)的安装让我费了半天劲啊!足足折腾了2天,最后写下这篇文章总结下,其实很简单,但是你找不到错在哪个环节就会费很多无用功,如果你也遇到了安装erl后 怎 ...

  8. 转载 江南一点雨 一键部署docker

    一键部署 Spring Boot 到远程 Docker 容器,就是这么秀!   不知道各位小伙伴在生产环境都是怎么部署 Spring Boot 的,打成 jar 直接一键运行?打成 war 扔到 To ...

  9. OpenStack Swift集群部署流程与简单使用

    之前介绍了<OpenStack Swift All In One安装部署流程与简单使用>,那么接下来就说一说Swift集群部署吧. 1. 简介 本文档详细描述了使用两台PC部署一个小型Sw ...

  10. ASP.NET Core 一步步搭建个人网站(2)_一键部署和用户注册登录

    俗话说,磨刀不费砍柴工.为了更方便的进行项目管理,我们先将个人网站项目配置一下,满足以下2个目标: VS2017中支持Git存储库,绑定Github项目,实现本地VS程序与线上Github一键代码提交 ...

随机推荐

  1. Serverless冷启动:如何让函数计算更快更强?

    摘要:借助Serverless计算,开发者仅需上传业务代码并进行简单的资源配置便可实现服务的快速构建部署,云服务商则按照函数服务调用量和实际资源使用收费,从而帮助用户实现业务的快速交付和低成本运行. ...

  2. 【新春特辑】发压岁钱、看贺岁片、AI写春联……华为云社区给大家拜年了

    摘要:充电团聚云上见,顺便攒攒压岁钱. 春!节!倒!计!时!啦! 农历新年即将到来,热闹的过年氛围逐渐弥漫,华为云社区先给大家拜个早年,祝所有小伙伴们新春快乐,牛年大吉! 回望2020年,社区涌现了许 ...

  3. 云图说|Git云上仓库哪家好?一张图了解华为云代码托管服务

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 云办公时代已然到 ...

  4. 你知道,java项目中是如何获取文件地址的吗?

    摘要:在java项目中我们经常会读取配置文件,但是文件的路径在获取时我们是怎么得到的?因为我总是忘记获取文件地址的方法,就在此记录一下 本文分享自华为云社区<[Java]Java项目的绝对地址和 ...

  5. 买家手册:企业在选择 SBOM 供应商时需要注意什么?

    Apache Log4j 和 Log4Shell 两大事件的发生,将软件物料清单(Software Bill of Materials, SBOM)推向安全防护前沿,成为企业保护其软件供应链的方式之一 ...

  6. Spring Boot实战:静态资源无法访问

    发现  static 或 public 下面的图片无法访问 spring: profiles: active: dev resources: static-locations: classpath:/ ...

  7. MyBatis 核心组件 —— Configuration

    概述 Mybatis 的核心组件如下所示: Configuration:用于描述 MyBatis 的主配置信息,其他组件需要获取配置信息时,直接通过 Configuration 对象获取.除此之外,M ...

  8. 线上活动 | AI 头像变装秀

    ​宝子们,你的头像多久没换了? 送你一个锦囊,让你拥有既独一无二,又千变万化的专属 AI 头像 Hugging Face 将在 7 月 5 日 发起:AI 头像变装秀 ️️️游戏规则️️️ 我们将分享 ...

  9. python像操作文件一样操作内存的模块 StringIO

    io流(io stream) 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插 ...

  10. C++ Idioms Pimpl

    References C++ Coding Standard 這本書的中文版不知道是不是翻譯問題,還是原作就有這種傾向,有些咬文嚼字的很不好懂. Exceptional C++ 這本比上面那本容易理解 ...