如何在Windows、Linux系统中安装rabbitmq

时间:2020-07-24 21:38:00   收藏:0   阅读:68

一:RabbitMQ简介

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

二:工作过程

发布者(Publisher)发布消息(Message),经由交换机(Exchange)。

交换机根据路由规则将收到的消息分发给与该交换机绑定的队列(Queue)。

最后 AMQP 代理会将消息投递给订阅了此队列的消费者,或者消费者按照需求自行获取。

三:Windows下安装rabbitmq

Rabbit MQ 是建立在Erlang OTP平台上,所以在安装rabbitMQ之前,需要先安装Erlang ,下载地址为http://www.erlang.org/downloads

1.下载完成后,双击进行安装

技术分享图片

 

 2.安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录

  技术分享图片

 

 

 3.将%ERLANG_HOME%\bin加入到Path中

  技术分享图片

 

 

 4.检查erl是否安装成功

  打开cmd,输入erl

  技术分享图片

 

 

   如上图所示出现erlang的版本信息就表示erlang语言环境安装成功;

5.然后下载并安装Rabbitmq,下载地址为:http://www.rabbitmq.com/download.html

  技术分享图片

 

 

 技术分享图片

   下载好之后,双击进行安装

  技术分享图片

 

  技术分享图片

   选择自己的安装目录,我的安装目录是E:\Develop\rabbitmq,默认安装的RabbitMQ 监听端口是5672,默认用户名:guest,密码:guest。

6.RabbitMQ-Plugins插件安装

  这个插件相当于是一个管理界面,方便我们在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况,安装方法是:打开命令行cmd进入rabbitmq的sbin目录(我的目录是:E:\Develop\rabbitmq\rabbitmq_server-3.8.5\sbin),输入:
  rabbitmq-plugins enable rabbitmq_management

  稍等会出现plugins安装成功的提示

  技术分享图片

   然后重启服务,使用命令(此时最后以管理员运行CMD):

    net stop RabbitMQ && net start RabbitMQ

  插件安装完之后,在浏览器输入http://localhost:15672进行验证

  技术分享图片

 

 

   技术分享图片

   完成上面所有步骤,那么在Windows系统安装rabbitmq就已经完成

四:Linux系统安装rabbitmq(rpm安装包方式,因为rabbitmq与erlang版本不匹配导致无法启动)

1.和Windos系统安装rabbitmq一样,由于RabbitMQ依赖Erlang, 所以需要先安装Erlang,Erlang的安装方式大概有两种:

    # 添加erlang solutions源
    $ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    $ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm --force --nodeps
    $ sudo yum install erlang

    # 启动EPEL源

    $ sudo yum install epel-release 

    # 安装erlang
    $ sudo yum install erlang

2.安装RabbitMQ

    wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm 

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

    Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)

    Requires: libreadline.so.5()(64bit)

    $ sudo yum install socat

3.关于RabbitMQ的一些基本操作

  $ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
  $ sudo /sbin/service rabbitmq-server start # 启动服务
  $ sudo /sbin/service rabbitmq-server status # 查看服务状态
  $ sudo /sbin/service rabbitmq-server stop # 停止服务

  # 查看当前所有用户
  $ sudo rabbitmqctl list_users

  # 查看默认guest用户的权限
  $ sudo rabbitmqctl list_user_permissions guest

  # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
  $ sudo rabbitmqctl delete_user guest

  # 添加新用户
  $ sudo rabbitmqctl add_user username password

  # 设置用户tag
  $ sudo rabbitmqctl set_user_tags username administrator

  # 赋予用户默认vhost的全部操作权限
  $ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

  # 查看用户的权限
  $ sudo rabbitmqctl list_user_permissions username

4.开启web管理接口

  如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。

  $ sudo rabbitmq-plugins enable rabbitmq_management

  然后通过浏览器访问http://localhost:15672,输入用户名和密码访问web管理界面。

5.配置RabbitMQ并启动服务端

  • 因为是用rpm包安装,可从默认docs目录复制配置文件样例:

    cp /usr/share/doc/rabbitmq-server-3.6.15/rabbitmq.config.example /etc/rabbitmq.config

  • ##也可以自己创建一个rabbitmq.config文件,然后加入下面配置允许除本机外的其他地址访问rabbitmq

    [{rabbit, [{loopback_users, []}]}].

  • 启动rabbitmq服务端,发现启动rabbitmq报错,

  技术分享图片

   报错原因就是erlang版本与rabbitmq不匹配,所以我下面卸载掉rabbitmq相关安装包,不再使用rpm包安装,而是换成压缩包安装。

7、卸载rabbitmq相关

$ service rabbitmq-server stop
$ yum list | grep rabbitmq
$ yum -y remove rabbitmq-server.noarch

8、卸载erlang

$ yum list | grep erlang
$ yum -y remove erlang-*
$ yum -y remove erlang.x86_64

五、Linux系统安装rabbitmq(tar包的方式)

1.安装erlang

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
wget http://erlang.org/download/otp_src_23.0.tar.gz  下载速度可能会很慢
tar -zxvf otp_src_23.0.tar.gz
mv otp_src_23.0 /usr/local/
cd /usr/local/otp_src_23.0/
mkdir ../erlang
./configure --prefix=/usr/local/erlang

 

技术分享图片

  make install

ll /usr/local/erlang/bin
echo ‘export PATH=$PATH:/usr/local/erlang/bin‘ >> /etc/profile
source /etc/profile
erl

  如果出现下图所示版本号则表示安装成功

  技术分享图片

  在里面输入halt().命令退出来(那个点号别忘记)

  技术分享图片

 2.安装RabbitMQ

rabbitmq下载地址:

https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.5

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-generic-unix-3.8.5.tar.xz
yum install -y xz
/bin/xz -d rabbitmq-server-generic-unix-3.8.5.tar.xz
tar -zxvf rabbitmq-server-generic-unix-3.8.5.tar
mv rabbitmq_server-3.8.5  rabbitmq
echo ‘export PATH=$PATH:/home/rabbitmq/sbin‘ >> /etc/profile
source /etc/profile
mkdir /etc/rabbitmq

 3.启动、停止、查看状态

rabbitmq-server -detached
rabbitmqctl stop
rabbitmqctl status

 4.开启RabbitMQ插件(web管理)

rabbitmq-plugins enable rabbitmq_management

技术分享图片

默认账号密码:guest guest(这个账号只允许本机访问)

5.用户管理

rabbitmqctl list_users
rabbitmqctl add_user raoyulu 123456
rabbitmqctl set_permissions -p "/" raoyulu ".*" ".*" ".*"
rabbitmqctl list_user_permissions raoyulu
rabbitmqctl set_user_tags raoyulu administrator
rabbitmqctl delete_user guest

6.登陆

配置好用户之后重启一下rabbit

然后就可以用新账号进行登陆

技术分享图片

 

六:使用docker容器安装rabbitmq

1.先在linux系统安装docker服务

  安装教程链接地址:https://blog.csdn.net/gfk3009/article/details/104460438

2.拉取RabbitMQ镜像文件

  执行命令:docker pull rabbitmq:management

  技术分享图片

 

 3.运行rabbitmq

  执行命令:docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname RabbitMQ rabbitmq:management  ##启动容器

  docker ps -a  ## 查看容器是否启动成功技术分享图片

 

 

 最后访问客户端确定是否启动成功

原文:https://www.cnblogs.com/raoyulu/p/13371720.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!