身为.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. 【C++并发实战】(三) std::future和std::promise

    std::future和std::promise std::future std::future期待一个返回,从一个异步调用的角度来说,future更像是执行函数的返回值,C++标准库使用std::f ...

  2. 浅谈arguments与arguments的妙用

    1.每个函数都有一个arguments属性,表示函数的实参集合,这里的实参是重点,就是执行函数时实际传入的参数的集合. 2.arguments不是数组而是一个对象,但它和数组很相似,所以通常称为类数组 ...

  3. [COCI2006-2007#1] Bond

    状压DP \(dp[i]\)表示当前选人状态为\(i\)且选择了前\(i.count()\)个物品时最大的概率 #include"cstdio" #include"cst ...

  4. div实现水平和垂直都居中的三个超实用的方法

    本文仅仅介绍作者认为的三种不错的方式, 方式一:transform: translate(-50%,-50%)  示例代码如下: .div{ position: absolute; top: 50%; ...

  5. Vuejs入门级简单实例

    Vue作为2016年最火的框架之一,以其轻量.易学等特点深受大家的喜爱.今天简单介绍一下Vue的使用. 首先,需要在官网下载vuejs,或者直接用cdn库.以下实例使用Vue实现数据绑定与判断循环: ...

  6. Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

    Docker简介 Docker是开源应用容器引擎,轻量级容器技术. 基于Go语言,并遵循Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  7. 转:centos7.2安装jdk1.6和/etc/profile不生效问题

    转:centos7.2安装jdk1.6和/etc/profile不生效问题 转自:http://blog.csdn.net/cuker919/article/details/54178611 一.查看 ...

  8. ubuntu桌面安装常用软件&及常见问题

    自己从windows转向ubuntu桌面开发,根据需求安装以下文件: ubuntu 桌面版下载:http://www.ubuntu.org.cn/download/desktop 有的公司设置静态ip ...

  9. jQuery的安装

    一.jQuery的安装 下载 jQuery 有两个版本的 jQuery 可供下载: Production version - 用于实际的网站中,已被精简和压缩. Development version ...

  10. 浅谈count(*)、count(1)、count(列名)

    count(*) 和 count(1)和count(列名)区别  执行效果上:  count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL  count(1)包括了所有列, ...