1、RabbitMQ是用erlang语言编写的,所以我们先安装erlang语言环境

配置erlang语言环境

# vim /etc/yum.repos.d/rabbitmq-erlang.repo

[rabbitmq-erlang]

name=rabbitmq-erlang

baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7

gpgcheck=1

gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc

enabled=1

# rpm --import  https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc

# yum install erlang socat  -y  #安装erlang

 

2、安装rabbitmq服务

下载rabbitmq地址:http://www.rabbitmq.com/download.html

 

#wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm

#  yum localinstall   rabbitmq-server-3.7.13-1.el7.noarch.rpm

(或者  # yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm)

3、启用RabbitMQ的web插件 ,方便后期管理界面:

#  rabbitmq-plugins enable rabbitmq_management

 

4、设置开机启动

# systemctl enable rabbitmq-server.service   #设置开机启动服务

# systemctl start rabbitmq-server            #启动服务

# systemctl status rabbitmq-server.service   #查看服务

# ll /var/lib/rabbitmq/.erlang.cookie

 

注:发现/var/lib/rabbitmq/.erlang.cookie的文件拥有者是root,而rabbitmq服务是以rabbitqm普通用户运行的, 这就无法往.erlang.cookie里写入数据,所以可能报错。

#  chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie  #修改文件拥有者

 

5、# netstat  -antup | grep 5672  #查看端口号

 

6、为RabbitMQ创建用户并赋权。

# rabbitmqctl add_user cdnfresh cdnfresh          #添加用户

# rabbitmqctl set_user_tags cdnfresh administrator #设置用户权限为administrator

# rabbitmqctl cluster_status  #查看集群状态

# rabbitmqctl list_users       #查看所有用户

 

在浏览器测试登录,发现可以登录ip+port 15672

 

7、配置rabbitmq集群

# 在第一个节点启动rabbitmq-server生成cookie文件

# rabbitmq-server -detached

 

# 设置所有节点同一认证Erlang Cookie,将第一个节点上的cookie文件拷贝到其他节点上,注意.erlang.cookie权限

# chmod 777 /var/lib/rabbitmq/.erlang.cookie

# scp -P38199 .erlang.cookie MQ02:/var/lib/rabbitmq/

# scp -P38199 .erlang.cookie MQ03:/var/lib/rabbitmq/

#  chmod 400 /var/lib/rabbitmq/.erlang.cookie (每个节点都要执行)

# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

# chown -R rabbitmq:rabbitmq /etc/rabbitmq

 

8、启动rabbitmq集群,将MQ02、MQ03加入MQ01

# rabbitmq-server -detached

# rabbitmqctl stop_app

# rabbitmqctl join_cluster rabbit@MQ01

# rabbitmqctl start_app

9、查看集群状态

# rabbitmqctl cluster_status

10、安装rabbitmq_delayed_message_exchange 插件

Rabbitmq官网下载即可

# rabbitmq-plugins list  查看插件

# unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.zip

解压之后得到 rabbitmq_delayed_message_exchange-20171201-3.7.x.ez 文件

# mv rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.13/plugins/

# rabbitmq-plugins enable rabbitmq_delayed_message_exchange  安装完毕查看即可

最新文章

  1. [转]阿里巴巴数据库连接池 druid配置详解
  2. 关于JavaScript变量提升的理解
  3. 打造H5里的“3D全景漫游”秘籍
  4. 常用的java类型转json的转换类
  5. 关于SharePoint 2013 UserProfile跨场的几点注意
  6. 重新想象 Windows 8 Store Apps (68) - 后台任务: 控制通道(ControlChannel)
  7. [原创]java WEB学习笔记86:Hibernate学习之路-- -映射 n-n 关系,单向n-n,双向n-n
  8. ios上传应用后,审核流程完成前(reveiw)修改了程序内容,如何上传替换
  9. C#_Fileuploadify_notMvc
  10. iOS开发UI篇—Quartz2D简单使用(一)
  11. JAXB 操作XML 与 Object
  12. Jenkins中集成python,支持参数生成Makefile文件
  13. 关于jsp页面 title中文乱码问题的解决方法
  14. 1.4.2.1. FILES(Core Data 应用程序实践指南)
  15. python+appium+unittest自动化测试框架环境搭建
  16. STM32标准库GPIO操作
  17. C++中typedef enum 和 enum
  18. DOS批处理中对含有特殊字符的文件名的处理方法
  19. CodeForces 91B Queue
  20. Mysql --初识mysql语句

热门文章

  1. vim 复制粘贴
  2. Cocos Creator学习六:加载/释放图片资源
  3. Python 进度条原理
  4. fetch请求get方式以及post提交参数为formdata类型的数据
  5. java的equals()与hashCode()以及包装类中的实现
  6. 强力推荐!那些你不能错过的 GitHub 插件和工具
  7. thymeleaf下拉框从后台动态获取集合数据并回显选中
  8. bash: ./xxx 权限不够
  9. vsftpd详细配置
  10. windows系统,boost编译安装