RabbitMQ简介及安装
RabbitMQ消息中间件
简介
RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
下载地址: https://www.rabbitmq.com/download.html
国内加速下载: https://www.newbe.pro/Mirrors/Mirrors-RabbitMQ/
消息队列服务、消息中间件(Broker)、消息服务
几款常用消息服务器:
- Rabbitmq
- Activemq
- Rocketmq
- Tubemq
mq服务器的地位,和Redis相当,现在分布式项目中,redis和mq服务应该是必备的
安装前提
c++等环境依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
安装RabbitMQ
以下安装任选其一
直接安装
因为RabbitMQ是使用Erlang语言写的, 安装RabbitMQ之前请再安装以下两个依赖
1. socat
socat,一个多功能的网络工具,名字来源于SOcket CAT,是netcat的增强版,也就是netcat++(扩展了设计,并有新的实现)。
官网: http://www.dest-unreach.org/socat/
安装:
yum install socat.x86_64
2. Erlang
Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
Erlang官网: https://www.erlang.org/
安装:
yum install erlang
安装rabbitmq
如果不考虑安装版本, 可使用如下方式
yum install rabbitmq-server.noarch
如果安装指定版本, 自行下载socat, erlang, rabbitMQ的rpm包等自行安装
官方yum安装
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
# centos7 用这个
cat <<EOF > /etc/yum.repos.d/rabbitmq.repo
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
EOF
# centos6 用这个
cat <<EOF > /etc/yum.repos.d/rabbitmq.repo
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/6/
gpgcheck=0
repo_gpgcheck=0
enabled=1
EOF
yum makecache
yum install socat
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v21.3.8.12/erlang-21.3.8.12-1.el7.x86_64.rpm
rpm -ivh erlang-21.3.8.12-1.el7.x86_64.rpm --force --nodeps
yum install rabbitmq-server
配置RabbitMQ
启动rabbitmq服务器
# 设置服务,开机自动启动
systemctl enable rabbitmq-server
# 启动服务
systemctl start rabbitmq-server
rabbitmq管理界面
启用管理界面
# 开启管理界面插件
rabbitmq-plugins enable rabbitmq_management
# 防火墙打开 15672 管理端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
重启RabbitMQ服务
重启服务是为了让上面的管理界面生效
systemctl restart rabbitmq-server
访问测试
访问服务器的15672
端口,例如: IP改为你的linux的ip或域名即可
http://192.168.64.140:15672
访问权限
用户管理可参考
https://www.cnblogs.com/AloneSword/p/4200051.html
开放客户端连接端口
# 打开客户端连接端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload
主要端口介绍
- 4369 – erlang发现口
- 5672 – client端通信口
- 15672 – 管理界面ui端口
- 25672 – server间内部通信口