RabbitMQ介绍

  • RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。
  • AMQP,即Advanced Message Queuing Protocol, 一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有 RabbitMQ等。

RabbitMQ安装及配置

基于 CentOS7.7 安装 RabbitMQ 3.8.9,推荐使用本地安装,减少网络依赖

1.安装前准备

  • 如果之前安装过erlang,先删除
yum remove erlang*
  • 安装C++编译环境
#yum -y install make gcc gcc-c++
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson
  • 下载erlang和rabbitMQ
#下载erlang
wget http://www.erlang.org/download/otp_src_23.1.tar.gz

#下载rabbitMQ
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-generic-unix-3.8.9.tar.xz

2.安装erlang

  • 解压erlang安装包
tar -xvf otp_src_23.1.tar.gz
  • 进入解压文件夹
cd otp_src_23.1
  • 指定安装目录及安装配置(需要先安装并配置JDK)
#erlang指定安装在/usr/local/erlang目录 
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl --without-javac
  • 编译与安装
make && make install
  • 配置erlang环境变量
vi /etc/profile
将 export PATH=$PATH:/usr/local/erlang/bin 添加到文件末尾

  • 重新加载profile文件
source /etc/profile

3.安装RabbitMQ

  • 解压RabbitMQ安装包
#由于下载的安装包为xz文件,先将xz解压为tar
xz -d rabbitmq-server-generic-unix-3.8.9.tar.xz
#再解压缩tar文件
tar -xvf rabbitmq-server-generic-unix-3.8.9.tar
  • 启动RabbitMQ
- 进入到解压的RabbitMQ的sbin目录


cd rabbitmq_server-3.8.9/sbin
#启动
./rabbitmq-server -detached
  • 查看进程
lsof -i:5672
ps aux|grep rabbit
#ps a 显示现行终端机下的所有程序,包括其他用户的程序。
#ps u   以用户为主的格式来显示程序状况。
#ps x   显示所有程序,不以终端机来区分。

4.启动管理界面

#启动RabbitMQ的管理系统插件(需进入sbin目录)
./rabbitmq-plugins enable rabbitmq_management
#访问管理系统
ip:15672

5.放行端口

如果没有网络指令需要先安装:yum install net-tools

  • 查看并放行端口
netstat -tlnp
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent
  • 也可以直接关闭防火墙
    - CentOS7 
    #关闭防火墙 
    systemctl stop firewalld
    #开机禁用 
    systemctl disable firewalld
    #查看状态
    systemctl status firewalld

    - CentOS6
    #1.永久性生效,重启后不会复原
    #开启: 
    chkconfig iptables on
    #关闭: 
    chkconfig iptables off
    #2.即时生效,重启后复原
    #开启: 
    service iptables start
    #关闭: 
    service iptables stop
    #3.查询TCP连接情况:
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    #4.查询端口占用情况:
    netstat   -anp   |   grep  portno(例如:netstat –apn | grep 80)

云服务器需要在控制台添加“安全组设置”

  • 阿里云服务器

请输入图片描述

  • 腾讯云服务器

请输入图片描述

Last modification:November 29, 2020
如果觉得我的文章对你有用,请随意赞赏