原文地址和下载地址
原方地址: https://www.cnblogs.com/jiagoushi/p/9961388.html rabbitmq下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/ erlang 下载地址: http://erlang.org/download/
rabbitmq一些概念
vhost虚拟主机:一个broker里可以开设多个vhost,用作不同用户的权限分离。一个命名空间
概念
Item | Comment |
---|---|
Exchange | 消息交换机,它指定消息按什么规则,路由到哪个队列 |
Queue | 消息队列,每个消息都会被投入到一个或多个队列 |
Binding | 绑定,它的作用就是把exchange和queue按照路由规则绑定起来 |
Routing Key | 路由关键字,exchange根据这个关键字进行消息投递 |
Vhost | 虚拟主机,可以开设多个vhost,用作不同用户的权限分离 |
Producer | 消息生产者,就是投递消息的程序 |
Consumer | 消息消费者,就是接受消息的程序 |
Channel | 消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务 |
投递过程
消息队列的使用过程大概如下:
- 1.客户端连接到消息队列服务器,打开一个channel
- 2.客户端声明一个exchange,并设置相关属性
- 3.客户端声明一个queue,并设置相关属性
- 4.客户端使用routing key,在exchange和queue之间建立好绑定关系
- 5.客户端投递消息到exchange
- 6.客户端从指定的queue中消费信息
安装erlang
下载地址:http://erlang.org/download/
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl openssl-devel xmlto zip unzip unixODBC-devel
cd /opt/tools tar -xf otp_src_18.3.tar.gz #解压出的目录是otp_src_18.3
cd otp_src_18.3
./configure --prefix=/opt/erlang --without-javac
make && make install
/opt/erlang/bin/erl #验证erlang
安装python模块simplejson
方法1:wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip install simplejson #pip list | grep simplejson 查看安装版本
方法2:下载安装simplejson,下载http://download.openpkg.org/components/cache/python-json/ (docker里使用此方法)
tar xvzf simplejson-2.2.1.tar.gz
cd simplejson-2.2.1
python setup.py install
或
yum install python-simplejson -y
方法3:
源码安装setuptools与pip
setuptools与pip都是python的模块
下载setuptools及pip的源码包
setuptools源码包: https://pypi.python.org/pypi/setuptools
pip源码包: https://pypi.python.org/pypi/pip#downloads
注意:python2 setuptools版本12 pip版本7
安装setuptools与pip
先安装setuptools, 进行setuptools的源码根目录下, 执行以下命令进行setuptools模块的安装
python setup.py install
安装完setuptools后, 接着安装pip, 进入pip的源码包根目录下, 执行以下命令进行安装:
python setup.py build
python setup.py install
pip install simplejson
安装rabbitmq
下载地址:http://www.rabbitmq.com/releases/rabbitmq-server/ tar -xf rabbitmq-server-generic-unix-3.6.15.tar.xz mv rabbitmq_server-3.6.15 /opt/rabbitmq 配置环境变量 vim /etc/profile.d/env.sh ========== export ERLANG_HOME=/opt/erlang export PATH=${PATH}:${ERLANG_HOME}/bin export RABBITMQ_HOME=/opt/rabbitmq export PATH=${PATH}:${RABBITMQ_HOME}/sbin ========== source /etc/profile
启动rabbitmq
rabbitmq-server -detached #rabbitmq分别启动节点和应用 应用关闭rabbitmqctl stop_app 应用启动 rabbitmqctl start_app
netstat -lnp |grep beam #查看端口
开启rabbitmq控制台
rabbitmq-plugins enable rabbitmq_management netstat -lnp |grep beam #查看端口,15672是rabbimq网页管理监听端口,5672是客户端使用的端口
3.7.9的rabbitmq 控制台要用360极速浏览器打开才可以。不然会出现各种问题
添加rabbitmq控制台管理员用户
rabbitmqctl add_user admin admin #创建用户
rabbitmqctl set_user_tags admin administrator #设置用户权限
rabbitmqctl list_users #查看有哪些用户
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" #设置用户访问vhost /是vhost
rabbitmqctl list_permissions -p / #查看 / vhost权限的用户
访问控制台
ip:15672 #输入admin admin
关闭RabbitMQ
rabbitmqctl stop #应用和节点都将被关闭