身为.NET程序员,用着宇宙级IDE,干什么事都变得越来越懒了,Windows操作系统在手,能通过桌面点点点的方式何必找其他罪受呢。。于是RabbitMQ自然而然也就跑在Windows上了,说实话Windows配置RabbitMQ太恶心了,尤其对于手贱的人,总想着装了卸卸了装,慢慢的各种问题就出来了,不从装系统解决起来备受煎熬。。当然服务器上肯定不这么干,但自己电脑肯定不知不觉的瞎折腾,然后就比如安装的时候报这种问题:

重装系统肯定是不可能的- -征战这么久的电脑,桌面上的东西都懒得整理。。

Docker说实话真是个好东西,RabbitMQ镜像一拉分分钟就玩起来了,但Docker毕竟也有局限性,baidu查一下数据库不适合容器化大致能读到点弊端,队列同理。

最近又回过头来把RabbitMQ搞到CentOS上也是为了节约成本提升性能,RabbitMQ配置里存在一个hipe_compile的属性,它的描述如下:

醒目的20-50%性能提升不是一点点的诱惑,然而蛋疼的是默认不开启,而且很不友好的强调了下。。不支持Windows平台。。所以搞吧。。

安装erlang

先下载最新的erlang安装包,可以上官网下载页面下载后扔到CentOS服务器上也可以服务器本地通过命令行下载 wget http://erlang.org/download/otp_src_19.3.tar.gz(当然使用wget,ifconfig命令需要先安装插件yum install wget ,yum install net-tools)

下载完成后解压:tar -xvzf otp_src_19.3.tar.gz

erlang在安装前需要先安装下它的依赖工具:

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

然后进入解压文件对erlang进行安装环境的配置(为了以后升级版本,此处就继续使用加压文件的名字了,至少我看得懂。。。。)

./configure --prefix=/usr/erlang --without-javac

然后进行编译make

然后安装 make install

然后就可以验证一下erlang是否安装成功了

  

接下来需要配置一下环境变量,把Erlang配置到/etc/profile文件中并通过source /etc/profile设置生效

安装RabbitMQ

下载RabbitMQ最新安装包,同样可以页面下载

也可以通过命令行下载:wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el7.noarch.rpm

下载完成后依旧照着文档走先执行下:

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

然后执行:

yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm

这时候就是看点的过程了- -如果点正,系统镜像工具比较全的。。直接就安装后了。。点背的话后安装失败(对于我这Linux菜鸟就是时刻点背着。。):

点正中途输个Y就完事了

面对点背的情况,看了下错误信息,既然可以忽略那就忽略吧- -

rpm -i --nodeps rabbitmq-server-3.6.8-1.el7.noarch.rpm

这样也算安装完成了。。

配置RabbitMQ

RabbitMQ的配置文档还是写的比较详细的:通过配置文件搞的话也比较简单,简单理解就是创建俩文件rabbitmq-env.conf,rabbitmq.config然后都扔到/etc/rabbitmq目录下即可

rabbitmq-env.conf中可以配置下消息存储的位置,日志存储的位置这些比较常用的设置,比如

RABBITMQ_MNESIA_BASE=/usr/local/rabbitmq-server/data
RABBITMQ_LOG_BASE=/usr/local/rabbitmq-server/log

这里需要注意的就是既然不使用默认目录了,那目标目录是需要权限的,于是可以执行命令给rabbitmq-server授权:

chmod -R 777 /usr/local/rabbitmq-server

对于rabbitmq.config配置文件的样本可以在/usr/share/doc/rabbitmq-server/ 或者 /usr/share/doc/rabbitmq-server-3.6.8/里找到,就是一个rabbitmq.config.example的文件,去掉.example即可使用,RabbitMQ平时使用默认配置即可,此处修改下hipe_compile的属性为true就算完事了!

去掉%%注释,去掉屁股上的,即可。

然后保存安装下RabbitMQ服务,

正如配置所说- -启动慢。但跑起来的话性能很好!

启动RabbitMQ服务可以通过命令:rabbitmq-server start

添加rabbitmq到启动项可以通过命令:chkconfig rabbitmq-server on

还有就是开启管理界面可以通过命令:rabbitmq-plugins enable rabbitmq_management

注意:

对于将RabbitMQ添加到启动项实际上就是安装RabbitMQ时,会在/lib/systemd/system目录下自动创建一个 rabbitmq-server.service 的配置文件用于系统开启时执行(Centos 系统服务脚本目录有系统(system)和用户(user)两种,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:/lib/systemd/system;反之,用户登录后才能运行的程序,存在用户(user)里/lib/systemd/system/ ,服务以.service结尾。)如果这里没看到 rabbitmq-server.service文件则需要自己手动创建了,文件需要分配754权限即 chmod 745 rabbitmq-server.service,然后就可以测试执行以下了 systemctl start rabbitmq-server.service 然而这时候点背还是会报错的。。

不多好在错误信息比较明显。。

由于Erlang是自己编译安装的,这时候通过配置环境变量还是找不到erl的执行命令,简单的方式就是创建快捷方式:

ln -s /usr/local/otp_src_19.3/bin/erl /usr/bin

这样就可以正常安装RabbitMQ服务了。

chmod 745 rabbitmq-server.service配置中编写的内容同样要使用执行文件的实际位置的方式,简单的配置比如:

启动服务:systemctl start rabbitmq-server.service

设置开机启动:systemctl enable rabbitmq-server.service

停止开机启动:systemctl disable rabbitmq-server.service

重新启动服务:systemctl restart rabbitmq-server.service

查看服务当前状态:systemctl status rabbitmq-server.service

查看所有已启动服务:systemctl list-units --type=service

RabbitMQ集群配置

集群配置需要注意的就是同步.erlang.cookie文件内容,这个文件所在的位置文档里说是在/var/lib/rabbitmq/.erlang.cookie 或者$HOME/.erlang.cookie. 我一般就是既然RabbimtMQ安装成功了随便瞎个命令比如在RabbitMQ关闭的状态下在关一次:rabbitmqctl stop然后就报错了。。报错的内容里醒目的写着.erlang.cookie的位置。。windows同理。。(之所以说windows同理是因为我们的集群一台windows2012一台sentos7.2,鹅妹子嘤)

对于集群中erlang的版本最好一致,不能一致的话至少保证主版本号一致,而且祈祷高版本兼容低版本吧!(通常是没问题的)

对于RabbitMQ貌似对版本要求比较严格,修正号不一致都不成功。。

还好删除是比较方便的。。。

统一版本后就能连了,蛋疼。。

不关闭防火墙还要记得开放端口,通常4369,5672,15672,25672什么的是需要开放的:

firewall-cmd --add-port=4369/tcp --permanent

												

CentOS7.2安装RabbitMQ笔记的更多相关文章

  1. centos7.4安装rabbitmq服务(3.7.10版本)

    一.需要安装erlang版本依赖,可以使用二进制安装方式,也可以通过rpm安装,但是安装的时候会提示需要erlang版本>=19.3,而且直接默认yum仓库中的版本较低.,为了节省时间,文章中直 ...

  2. [转]centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html CentOS7上安装Rabbit ...

  3. centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html [源码安装,适用GNOME + ...

  4. 学习笔记(3)centos7 下安装RabbitMQ

    centos7 安装RabbitMQ 安装erlang 因为RabbitMQ由ERLANG实现,所以需要先安装erlang.可以从https://www.erlang-solutions.com/re ...

  5. 【rabbitmq】Centos7 下安装rabbitmq

    rabbitmq安装 rabbitmq的安装依赖erlang,首先应该先安装erlang,然后安装rabbitmq: Step1:安装erlang erlang-rpm安装教程 选择在Centos7 ...

  6. centos7下安装rabbitmq

    RabbitMQ: RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.Rab ...

  7. centos7离线安装rabbitmq

    准备工作 一台centos7的机器 erlang-21.3.8.2 RabbitMQ 3.7.15 socat-1.7.3.2-2.el7.x86_64.rpm 开始安装 登录centos ,把上面的 ...

  8. centos7 rpm 安装 rabbitMQ 最新版

    首先打开官网: http://www.rabbitmq.com/install-rpm.html 先到右侧导航栏来看一下 : 第一个红框是指的在linux中安装,全英文的,乱的一笔,但是静下心来就可以 ...

  9. centos7.2安装rabbitmq教程

    环境: centos7.2 rabbitmq依赖erlang,需要先安装erlang 1 安装erlang rpm -Uvh https://download.fedoraproject.org/pu ...

随机推荐

  1. 使用fastjson 获取json字符串中的数组,再转化为java集合对象

    最近,使用layui做一个导出功能,尽管有插件提供导出,但是呢,由于数据中有状态是数字,例如1显示是已支付,但是导出时也希望这样显示,但是导出的还是1: lz没有找到改下这个插件的办法,只能利用服务端 ...

  2. php中模糊查询并关联三个select框

    1.在php中我们经常用到下拉框,并相互关联,如果下拉框的option非常多,那么我们就要用到模糊搜索功能,那么怎么做呢? 在此功能中,走了弯路,最好不要关联两个select的id值后select属性 ...

  3. UOJ46. 【清华集训2014】玄学

    传送门 Sol 考虑对于操作时间建立线段树,二进制分组 那么现在主要的问题就是怎么合并信息 你发现一个性质,就是每个修改只会在整个区间内增加两个端点 那么我们二进制分组可以得到每个区间内最多只有区间长 ...

  4. [CTSC2008]祭祀(构造方案)

    前面的话 这道题显然就是最长反链 根据 \(Dilworth\) 定理:最小链覆盖数 = 最长反链长度 然后传递闭包跑匹配即可 \(luogu\)交了一下,\(WA\) 了 \(QAQ\) 本来各种 ...

  5. Taro 是一套遵

    https://github.com/NervJS/taro 使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序.H5.React-Nat ...

  6. android去应用市场升级

    private String getAppInfo() {   try {   String pkName = this.getPackageName();   String versionName ...

  7. DOM介绍

    什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 ...

  8. [翻译] SlideInView

    SlideInView This is a quick and lightweight example of how to present a notification like view from ...

  9. Linux 系统的文件类型

    Linux文件类型常见:普通文件.目录文件.字符设备文件和块设备文件.符号链接文件 1.1. 普通文件(-) ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个 ...

  10. ESS控制台发布新功能:创建多实例规格的伸缩配置

    背景 原弹性伸缩ESS服务限定,生效的伸缩配置中只能对应一种实例规格,这样就会存在如果生效的配置中的实例规格的库存不足(高配实例规格通常更容易出现库存不足的情况)时, 用户配置好的伸缩规则以及伸缩组对 ...