基于Linux安装配置消息队列RabbitMQ

基于Linux安装配置消息队列RabbitMQ的详细过程!

##jdk start 
export JAVA_HOME=/usr/local/jdk1.8.0_231 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin 
##jdk end 


## mavne start MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=${MAVEN_HOME}/bin:${PATH} 
## mavne end 


## erlang start 
ERLANG_HOME=/usr/local/erlang export PATH=${ERLANG_HOME}/bin:${PATH} 
## erland end 


## rabbit start 
RABBITMQ_PATH=/usr/local/rabbitmq/rabbitmq_server-3.10.7 
export PATH=$RABBITMQ_PATH/sbin:$PATH 
## rabbit end

RabbitMQ是一款企业主流的消息队产品,基于Erlang语言的实现使其具有高效的消息处理能力;基于RabbitMQ的高效性以及对消息的可靠性保障,使其在企业中得到了广泛的应用。下面涛哥就来给大家讲一讲RabbitMQ详细的安装配置教程~

一、RabbitMQ介绍

RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。

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

主要特性如下:

  • 保证可靠性:使用一些机制来保证可靠性,如持久化、传输确认、发布确认
  • 灵活的路由功能
  • 可伸缩性:支持消息集群,多台RabbitMQ服务器可以组成一个集群
  • 高可用性:RabbitMQ集群中的某个节点出现问题时队列任然可用
  • 支持多种协议
  • 支持多语言客户端
  • 提供良好的管理界面
  • 提供跟踪机制:如果消息出现异常,可以通过跟踪机制分析异常原因
  • 提供插件机制:可通过插件进行多方面扩展

二、安装前环境准备

  • Linux:CentOS 7.6
  • RabbitMQ:RabbitMQ 3.7

如果之前安装过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 yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

下载erlang和rabbitMQ

|-----------------|-----------------------------------------------------------------------------------------------------------------------|
| elang - 25.0.3 | wget https://github.com/erlang/otp/releases/download/OTP-25.0.3/otp_src_25.0.3.tar.gz |
| rabbit - 3.10.7 | wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-generic-unix-3.10.7.tar.xz |

wget https://github.com/erlang/otp/releases/download/OTP-25.0.3/otp_src_25.0.3.tar.gz

下载RabbitMQ

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-generic-unix-3.10.7.tar.xz

三、安装erlang环境

创建/usr/local/erlang目录,我们将erlang安装在此目录。

解压erlang安装包

[root@server-b erlang] tar -xvf /usr/local/src/packer/rb/otp_src_25.0.3.tar.gz tar -xvf /usr/local/src/packer/rb/otp_src_25.0.3.tar.gz

进入解压文件夹 【otp_src_25.0.3/】

[root@server-b erlang]# cd otp_src_25.0.3/ cd otp_src_25.0.3/

erlang编译

erlang需要依赖JDK,因此需要先完成JDK的安装和环境变量配置。指定安装目录及安装配置

[root@server-b otp_src_25.0.3] ./configure --prefix=/usr/local/erlang ./configure --prefix=/usr/local/erlang

编译与安装

[root@server-b otp_src_25.0.3]# make && make install make && make install

配置erlang环境变量

将 export PATH=$PATH:/usr/local/erlang/bin 添加到文件末尾

命令1 vim /etc/profile 命令2 vi /etc/profile 命令3 [root@server-a ~]# sed -i 'aERLANG_PATH=\\/usr\\/local\\/erlang\\/bin \\nexport=\\ERLANG_PATH:PATH ' /etc/profile sed -i 'aERLANG_PATH=\/usr\/local\/erlang\/bin \nexport=\ERLANG_PATH:PATH ' /etc/profile

重新加载profile文件

erlang start ERLANG_HOME=/usr/local/erlang export PATH={ERLANG_HOME}/bin:{PATH} ## erland end

source /etc/profile

验证是否安装成功

[root@server-b /]# erl

四、安装RabbitMQ

4.1 解压RabbitMQ

maker /usr/local/rabbitmq

由于下载的安装包为xz文件,我们先将xz解压为tar。

xz -d rabbitmq-server-generic-unix-3.7.0.tar.xz [root@server-b rabbitmq]# xz -d /usr/local/src/packer/rb/rabbitmq-server-generic-unix-3.10.7.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.7.0.tar [root@server-b rabbitmq]# tar -xvf /usr/local/src/packer/rb/rabbitmq-server-generic-unix-3.10.7.tar

添加配置文件

[root@server-b rabbitmq_server-3.10.7]# vim /etc/profile

[root@server-b rabbitmq_server-3.10.7]# source /etc/profile

命令1

sed -i '$aRABBITMQ_PATH=\/usr\/local\/rabbitmq\/sbin

\nexport PATH=\RABBITMQ_PATH:PATH ' /etc/profile

命令2

rabbit

RABBITMQ_PATH=/usr/local/rabbitmq/rabbitmq_server-3.10.7

export PATH=RABBITMQ_PATH/sbin:PATH

source /etc/profile

4.2 启动RabbitMQ

进入到解压的RabbitMQ的sbin目录

cd rabbitmq_server-3.7.0/sbin

[root@server-b rabbitmq_server-3.10.7]# pwd /usr/local/rabbitmq/rabbitmq_server-3.10.7 [root@server-b rabbitmq_server-3.10.7]# [root@server-b rabbitmq_server-3.10.7]# cd sbin/

启动RabbitMQ

[root@server-b sbin]#

./rabbitmq-server detached

./rabbitmq-server -detached

./rabbitmq-server detached

查看进程,RabbitMQ的默认端口是5672

启动rabbitmq

rabbitmq-server --detached

查看状态

#[root@server-b sbin] .rabbitmqctl status

rabbitmqctl status

停止

rabbitmqctl stop

查看进程 # ps -ef | grep rabbitmq

开启web插件

rabbitmq-plugins enable rabbitmq_management

浏览器访问 ip:15672

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

启动命令1

[root@server-b sbin]# /usr/local/rabbitmq/rabbitmq_server-3.10.7/sbin/rabbitmq-server start

启动命令2

[root@server-b sbin]# /usr/local/rabbitmq/rabbitmq_server-3.10.7/sbin/rabbitmq-server start 1>/dev/null

后台启动命令: [root@server-b sbin]# ./rabbitmq-server -detached

关闭命令1:

[root@server-b sbin]# /usr/local/rabbitmq/rabbitmq_server-3.10.7/sbin/rabbitmq-server stop

[root@server-b sbin]# /usr/local/rabbitmq/rabbitmq_server-3.10.7/sbin/rabbitmq-server stop 1>/dev/null

lsof -i:5672 # 或者 ps aux|grep rabbit #ps a 显示现行终端机下的所有程序,包括其他用户的程序。

#ps u   以用户为主的格式来显示程序状况。

#ps x   显示所有程序,不以终端机来区分。

创建rabbitmq用户账号

查看所有用户 rabbitmqctl list_users

添加用户 rabbitmqctl add_user admin 123456

配置权限 rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

查看用户权限 rabbitmqctl list_user_permissions admin

设置tag rabbitmqctl set_user_tags admin administrator

删除用户 rabbitmqctl delete_user guest

五、启动RabbitMQ管理系统

启动RabbitMQ的管理系统插件(需进入sbin目录)

[root@server-b sbin]# ./rabbitmq-plugins enable rabbitmq_management

./rabbitmq-plugins enable rabbitmq_management

访问管理系统:http://ip:15672/

相关推荐
武昌库里写JAVA15 分钟前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
Q_192849990622 分钟前
基于Spring Boot的九州美食城商户一体化系统
java·spring boot·后端
ZSYP-S1 小时前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
yuanbenshidiaos1 小时前
c++------------------函数
开发语言·c++
程序员_三木1 小时前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
是小崔啊1 小时前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
tianmu_sama1 小时前
[Effective C++]条款38-39 复合和private继承
开发语言·c++
黄公子学安全1 小时前
Java的基础概念(一)
java·开发语言·python
liwulin05061 小时前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
jackiendsc1 小时前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法