基于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 ![](https://file.jishuzhan.net/article/1730775538932387841/1136979af63d61c6af881171f5f5bb05.webp) 进入解压文件夹 【otp_src_25.0.3/】 \[root@server-b erlang\]# cd otp_src_25.0.3/ cd otp_src_25.0.3/ ![](https://file.jishuzhan.net/article/1730775538932387841/47b4eb806d5809540ae05a0d6ce8b22a.webp) ### erlang编译 erlang需要依赖JDK,因此需要先完成JDK的安装和环境变量配置。指定安装目录及安装配置 \[root@server-b otp_src_25.0.3\] ./configure --prefix=/usr/local/erlang ./configure --prefix=/usr/local/erlang ![](https://file.jishuzhan.net/article/1730775538932387841/9591ebc6226d694f677b10e843c703ed.webp) ### 编译与安装 \[root@server-b otp_src_25.0.3\]# make \&\& make install make \&\& make install ![](https://file.jishuzhan.net/article/1730775538932387841/18dbe67f592ea9dbaf32c1a3d68aeca6.webp) ![](https://file.jishuzhan.net/article/1730775538932387841/e7e5c58e16d97e239c2a68b50b105523.webp) ### 配置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 ![](https://file.jishuzhan.net/article/1730775538932387841/549af333a39ffabd85badc01616a40a0.webp) 重新加载profile文件 ## erlang start ERLANG_HOME=/usr/local/erlang export PATH=${ERLANG_HOME}/bin:${PATH} ## erland end source /etc/profile 验证是否安装成功 \[root@server-b /\]# erl ![](https://file.jishuzhan.net/article/1730775538932387841/2847c71f52077cce6ae92651c1039f5d.webp) ## 四、安装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 ![](https://file.jishuzhan.net/article/1730775538932387841/81597bb044be1adf3d41b3d54e480b88.webp) 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 ![](https://file.jishuzhan.net/article/1730775538932387841/528459514a63d7f7305ec1ce95ad89fa.webp) ### 添加配置文件 \[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 > > ## ![](https://file.jishuzhan.net/article/1730775538932387841/2c175368f0606170810ead96902176dc.webp) > 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 ![](https://file.jishuzhan.net/article/1730775538932387841/8efd48ec866db0d5fc4bc60fc6c08120.webp) 查看进程,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/](http://192.168.73.131:15672/ "http://ip:15672/")

相关推荐
why1514 分钟前
腾讯(QQ浏览器)后端开发
开发语言·后端·golang
charade3127 分钟前
【C语言】内存分配的理解
c语言·开发语言·c++
浪裡遊8 分钟前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
LinDaiuuj8 分钟前
判断符号??,?. ,! ,!! ,|| ,&&,?: 意思以及举例
开发语言·前端·javascript
声声codeGrandMaster15 分钟前
django之优化分页功能(利用参数共存及封装来实现)
数据库·后端·python·django
呼Lu噜1 小时前
WPF-遵循MVVM框架创建图表的显示【保姆级】
前端·后端·wpf
bing_1581 小时前
为什么选择 Spring Boot? 它是如何简化单个微服务的创建、配置和部署的?
spring boot·后端·微服务
小臭希1 小时前
Java——琐碎知识点一
java·开发语言
学c真好玩1 小时前
Django创建的应用目录详细解释以及如何操作数据库自动创建表
后端·python·django
Asthenia04121 小时前
GenericObjectPool——重用你的对象
后端