1. 单机版部署
1.1 erlang安装
rabbitmq是erlang语言编写的,安装rabbitmq之前,需要先安装erlang,这里用erlang的源码进行安装,erlang安装包官网下载地址:https://github.com/erlang/otp/releases/
# 先安装以下依赖包
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
## 切换rabbitmq文件夹
cd /opt
## wget 下载,下载到/opt目录
wget https://github.com/erlang/otp/releases/download/OTP-24.0.5/otp_src_24.0.5.tar.gz
## 解压
tar -zxvf otp_src_24.0.5.tar.gz
## 切换到otp_src_24.0.5文件夹
cd otp_src_24.0.5/
# 这里要新建一个erlang文件夹,因为erlang编译安装默认是装在/usr/local下的bin和lib中,这里我们将他统一装到/usr/local/rabbitmq/erlang中,方便查找和使用。
mkdir -p /usr/local/rabbitmq/erlang
## ./configure --prefix=/usr/local/rabbitmq/erlang
## 参数说明:
## --prefix: 指定安装目录
## --with-ssl: 使用SSL包,openssl的扩展库
## --enable-threads: 启用异步线程支持
## --enable-smp-support:启用对称多处理支持(Symmetric Multi-Processing对称多处理结构的简称)
## --enable-kernel-poll:启用Linux内核poll
## --enable-hipe: 启用高性能Erlang
## --enable-sctp: 启用流控制协议支持(Stream Control Transmission Protocol,流控制传输协议)
./configure --prefix=/usr/local/rabbitmq/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
# 然后,直接执行make && makeinstall 进行编译安装
make && make install
# 添加环境变量 将/usr/local/rabbitmq/erlang/bin这个文件夹加入到环境变量中
vi /etc/profile
# 添加如下内容
# erlang
#export ERL_PATH=/usr/local/rabbitmq/erlang/bin
#export PATH=$ERL_PATH:$PATH
sed -i '$a\export ERL_PATH=\/usr\/local\/rabbitmq\/erlang\/bin' profile
sed -i '$a\export PATH=$ERL_PATH:$PATH' profile
## 使配置生效
source /etc/profile
# 查看erlang版本
erl -version
1.2 rabbitmq安装
(1)下载与安装
官网地址:Messaging that just works — RabbitMQ
下载地址:Downloading and Installing RabbitMQ — RabbitMQ
cd /opt
## wget下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.8/rabbitmq-server-generic-unix-3.9.8.tar.xz
# 解压
tar -xvf rabbitmq-server-generic-unix-3.9.8.tar.xz
mkdir /usr/local/rabbitmq
cp -r /opt/rabbitmq_server-3.9.8/ /usr/local/rabbitmq
## 添加环境变量
#export RABBIT_MQ_PATH=/usr/local/rabbitmq/rabbitmq_server-3.9.8/sbin
#export PATH=$RABBIT_MQ_PATH:$PATH
sed -i '$a\export RABBIT_MQ_PATH=\/usr\local\/rabbitmq\/rabbitmq_server-3.9.8\/sbin' profile
sed -i '$a\export PATH=$RABBIT_MQ_PATH:$PATH' profile
## 重载一下环境变量
source /etc/profile
## 查看插件列表
# {:query, :"rabbit@CentOS8-2", {:badrpc, :timeout}} # 如果出现这种提示,修改hostname,重启系统
/usr/local/rabbitmq/rabbitmq_server-3.9.8/sbin/rabbitmq-plugins list
cd /usr/local/rabbitmq/rabbitmq_server-3.9.8/plugins
#下载插件
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.9.0/rabbitmq_delayed_message_exchange-3.9.0.ez
#安装插件
/usr/local/rabbitmq/rabbitmq_server-3.9.8/sbin/rabbitmq-plugins enable rabbitmq_delayed_message_exchange
#添加web管理插件
/usr/local/rabbitmq/rabbitmq_server-3.9.8/sbin/rabbitmq-plugins enable rabbitmq_management
#RabbitMQ - MQTT插件
/usr/local/rabbitmq/rabbitmq_server-3.9.8/sbin/rabbitmq-plugins enable rabbitmq_mqtt
# 后台启动rabbitmq服务
/usr/local/rabbitmq/rabbitmq_server-3.9.8/sbin/rabbitmq-server -detached
(2)添加其他用户。
因guest用户只能在本机访问,所以需要添加一个admin用户,密码设为admin888。添加用户只能在Rabbitmq启动的状态下进行,因此,需要另打开一个shell来进行操作。
因guest用户只能在本机访问,所以需要添加一个admin用户,密码设为admin888。添加用户只能在Rabbitmq启动的状态下进行,因此,需要另打开一个shell来进行操作。
命令:cd /usr/local/rabbitmq_server-3.10.7/sbin
./rabbitmqctl add_user admin admin888
./rabbitmqctl set_user_tags admin administrator
./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
# 删除用户
命令:rabbitmqctl delete_user admin
# 修改用户的密码
命令:rabbitmqctl change_password admin [Newpassword]
访问:http://192.168.0.3:15672/
默认用户名密码 admin/admin888
web访问入口guest用户登录问题,报错是用户只能通过本地主机登录
(3)报错问题
启动rabbitmq-server服务时,报错ERROR: could not bind to distribution port 25672, it is in use by another nod
BOOT