RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。

为什么叫RabbitMQ?
很多人估计和我一样也有这个疑问,《RabbitMQ实战》一书给出了答案:兔子行动非常迅速而且繁殖起来也非常疯狂,所以就把Rabbit用作这个分布式软件的命名(就是真么简单)。

安装依赖文件

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget

若不执行以上的依赖文件的安装,则在执行./configure --prefix=/usr/local/erlang的过程中,最后两行会出现如下错误:

configure: error: No curses library functions found
configure: error: /bin/sh '/home/ding/otp_src_20.3/erts/configure' failed for erts

因在安装erlang的make过程中会用到java命令,故安装erlang前请检查系统中是否存在jdk,若没有需先安装jdk
安装erlang语言环境:

wget http://www.erlang.org/download/otp_src_20.3.tar.gz #下载erlang包
tar -xvf otp_src_20..tar.gz  #解压
cd otp_src_20./ #切换到安装路径
./configure --prefix=/usr/local/erlang  #生产安装配置
make && make install  #编译安装

配置erlang环境变量

vi /etc/profile  #在底部添加以下内容
#set erlang environment
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
source /etc/profile #使以上配置生效

测试一下是否安装成功,在控制台输入命令erl

erl  #如果进入erlang的shell则证明安装成功,退出即可。

安装RabbitMQ
下载安装(也可在http://www.rabbitmq.com/releases/rabbitmq-server/下选择对应的版本)

cd /usr/local  #切换到计划安装RabbitMQ的目录,我这里放在/usr/local
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.4/rabbitmq-server-generic-unix-3.7.4.tar.xz
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.7.4/rabbitmq-server-generic-unix-3.7.14.tar.xz (此下载源失效)
xz -d rabbitmq-server-generic-unix-3.7..tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7..tar
mv rabbitmq_server-3.7./ rabbitmq

配置rabbitmq环境变量:

vi /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin

保存退出

source /etc/profile

启动服务

rabbitmq-server -detached //启动rabbitmq,-detached代表后台守护进程方式启动。

如果启动失败,可尝试

nohup rabbitmq-server restart >rabbitmqLOG.log >& &
(停止rabbitmq:rabbitmqctl stop)

查看状态,如果显示如下截图说明安装成功:

rabbitmqctl status

配合网页插件

首先创建目录,否则可能报错:

mkdir /etc/rabbitmq

然后启用插件:

rabbitmq-plugins enable rabbitmq_management

配置防火墙:

配置linux 端口 15672 网页管理 5672 AMQP端口:(阿里云服务器只需要将15672、5672端口加入安全组即可,无需以下3步操作)

firewall-cmd --permanent --add-port=/tcp
firewall-cmd --permanent --add-port=/tcp
systemctl restart firewalld.service

现在你在浏览器中输入服务器IP:15672 就可以看到RabbitMQ的WEB管理页面了,是不是很兴奋,可是你没有账号密码,别急

配置访问账号密码的和权限
默认网页是不允许访问的,需要增加一个用户修改一下权限,代码如下:

rabbitmqctl add_user super super  #添加用户,后面两个参数分别是用户名和密码,我这都用super了。
rabbitmqctl set_permissions -p / super ".*" ".*" ".*"  #添加权限
rabbitmqctl set_user_tags super administrator #修改用户角色

如果使用的是阿里云服务器,还需要在阿里云控制台安全组里开启5672和15672端口。

安装延时任务插件(非必须)

linux安装rabbitmq_delayed_message_exchange插件(可通过该插件的x-delay-message实现延时消息队列)

检查本地是否安装rabbitmq_delayed_message_exchange

rabbitmq-plugins list
wget wget https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171201-3.7.x.zip

unzip,解压到/usr/local/rabbitmq/plugins/rabbitmq_delayed_message_exchange-20171201-3.7.x.ez

如果提示找不到命令,也可通过https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/下载压缩文件到本地,解压后在将rabbitmq_delayed_message_exchange-20171201-3.7.x.ez上传到/usr/local/rabbitmq/plugins/目录下

安装插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

出现started 1 plugins.代表成功

参考博文:

1.Cento7 安装rabbitMQ

2.rabbitmq安装rabbitmq_delayed_message_exchange插件

3.CentOS在线安装RabbitMQ3.7

阿里云服务器CentOS7.5安装RabbitMQ的更多相关文章

  1. 阿里云服务器 centos7 ftp安装

    昨天租了阿里云服务器一个月,想玩一下linux系统,结果想用ftp上传本地文件的时候,发现用不了,结果在安装配置的时候折腾了几个小时,在网上查了无数的资料,有的说要改配置文件,有的说要关防火墙,说啥的 ...

  2. 阿里云服务器CentOS7 vsftp安装、设置及后台端口的设置

    查看是否安装vsftp,我这个是已经安装的. [root@localhost vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-11.el7_2.x86_64 如果 ...

  3. 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口

    配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...

  4. 阿里云服务器Centos7.4开放80端口的记录

    问题: 阿里云服务器安装的是centos7, 搭建网站安装lnmp1.5后发现访问不了, 不明所以, 在一论坛找到关于80端口未开放的原因. 需求: 开放80端口.于是有了下面第一,二,三部分关于开放 ...

  5. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  6. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  7. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  8. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  9. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

随机推荐

  1. Angular升级流程

    执行命令 ng update @angular/cli --migrate-only --from=1.7.1 npm install --save-dev @angular/cli@latest 注 ...

  2. node 后台管理插件forever

    在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台运行,虽然不能直接用node命令搞定,但是在安装了forever这个包以后,还是很轻松的.不过要是在远程服务器上 ...

  3. 利用WIX制作安装包(2)

    原文 利用WIX制作安装包(2) 这一篇文章将为大家介绍如何使用WIX自定义UI.上一篇文章我们讲过WIX为我们提供了五种安装界面.每种安装界面都是由不同的Dialog组成.在这里我们挑选一种比较常用 ...

  4. 不能继承于QObject的类就一定不能使用信号槽?(用一个代理类进行发射就行了)

    首先不能继承QObject的情况在开发中遇到得并不多,笔者在一年多的Qt项目开发中只遇到两三次.而且都是因为引进了第三方库导致编译过程中报错. 要想解决这个问题其实不难,因为笔者遇到的问题都是想定义一 ...

  5. 【Linux】查看物理CPU个数、核数、逻辑CPU个数

    ①物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id) cat /proc/cpuinfo| grep "physical id ...

  6. Android零基础入门第83节:Activity间数据传递方法汇总

    在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递. 一.常用数据类型 在前面几节我们只学习了一些常用类型的数据传 ...

  7. 企业级架构 MVVM 模式指南 (WPF 和 Silverlight 实现) 译(1)

    前言对于WPF和Silverlight来讲,MVVM是微软设计师和业内专家高度推荐的非常棒的一种设计模式.本书会探讨MVVM设计模式的一些自身缺陷以及为什么MVVM还不能成为行业内的标准设计模式.这会 ...

  8. Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用

    一.Android平台编程方式:      1.基于Android SDK进行开发的第三方应用都必须使用Java语言(Android的SDK基于Java实现)      2.自从ndk r5发布以后, ...

  9. 用汇编语言给XP记事本添加“自动保存”功能 good

    [文章标题]: 用汇编语言给XP记事本添加“自动保存”功能 [文章作者]: newjueqi [作者邮箱]:zengjiansheng1@126.com [作者QQ]:190678908 [使用工具] ...

  10. 全量导入数据 导致solr内存溢出 崩溃问题解决

    在 data-config.xml 文件中 增加一个参数即可: batchSize="-1"