基于CentOS Stream 9平台搭建RabbitMQ3.13.4以及开机自启

1. erlang与RabbitMQ对应版本参考:https://www.rabbitmq.com/which-erlang.html


2. 安装erlang

官网:https://www.erlang.org/downloads

GitHub: https://github.com/rabbitmq/erlang-rpm/releases


2.1 安装依赖:

powershell 复制代码
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel socat kernel-devel glibc-devel m4 xz 

2.2 指定目录下载

powershell 复制代码
cd /usr/local/
wget https://github.com/erlang/otp/releases/download/OTP-26.2.5.1/otp_src_26.2.5.1.tar.gz

2.3 解压

powershell 复制代码
 tar -zxvf otp_src_26.2.5.1.tar.gz

2.4 创建erlang安装目录

powershell 复制代码
mkdir erlang

2.5 切换目录

powershell 复制代码
cd otp_src_26.2.5.1/

2.6 配置安装路径

powershell 复制代码
./configure --prefix=/usr/local/erlang

2.7 安装

powershell 复制代码
make install

2.8 查看一下是否安装成功

powershell 复制代码
ll /usr/local/erlang/bin

2.9 添加环境变量

powershell 复制代码
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

2.10 刷新环境变量

powershell 复制代码
source /etc/profile

2.11 测试进入erl

powershell 复制代码
erl

2.12 退出

powershell 复制代码
halt().

3. 安装RabbitMQ

官网: https://rabbitmq.com/

GitHub: https://github.com/rabbitmq/rabbitmq-server/releases


3.1 下载

powershell 复制代码
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.4/rabbitmq-server-generic-unix-3.13.4.tar.xz

3.2 安装xz

powershell 复制代码
yum install -y xz

3.3 第一次解压

powershell 复制代码
/bin/xz -d rabbitmq-server-generic-unix-3.13.4.tar.xz

3.4 第二次解压

powershell 复制代码
tar -xvf rabbitmq-server-generic-unix-3.13.4.tar

3.5 重命名

powershell 复制代码
mv rabbitmq_server-3.13.4 rabbitmq

3.6 配置环境变量

powershell 复制代码
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

3.7 刷新环境变量

powershell 复制代码
source /etc/profile

3.8 创建配置目录

powershell 复制代码
mkdir /etc/rabbitmq

3.9 开启web插件

powershell 复制代码
cd /usr/local/rabbitmq/sbin
rabbitmq-plugins enable rabbitmq_management

3.10 相关命令:启动、停止、状态

powershell 复制代码
rabbitmq-server -detached
rabbitmqctl stop
rabbitmqctl status

3.11 开放需要的端口

rabbitmq的

powershell 复制代码
firewall-cmd --add-port=15672/tcp --permanent   
firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=9876/tcp --permanent
firewall-cmd --add-port=10909/tcp --permanent
firewall-cmd --add-port=10911/tcp --permanent

Erlang的

powershell 复制代码
firewall-cmd --add-port=4369/tcp --permanent
firewall-cmd --reload

查看开放端口列表

powershell 复制代码
firewall-cmd --permanent --list-port

访问:http://127.0.0.1:15672/

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

3.12 设置用户

查看所有用户

powershell 复制代码
rabbitmqctl list_users

添加一个用户

powershell 复制代码
rabbitmqctl add_user coisini 123456

配置权限

powershell 复制代码
rabbitmqctl set_permissions -p "/" coisini ".*" ".*" ".*"

查看用户权限

powershell 复制代码
rabbitmqctl list_user_permissions coisini

设置tag

powershell 复制代码
rabbitmqctl set_user_tags coisini administrator

删除用户(出于安全考虑,删除默认用户)

powershell 复制代码
rabbitmqctl delete_user guest

访问:http://127.0.0.1:15672/


4. 开机自启

创建软连接(一般存在了)

powershell 复制代码
ln -s /usr/local/erlang/sbin/erl /usr/bin/erl

4.1 编辑服务文件

powershell 复制代码
vi /lib/systemd/system/rabbitmq.service

4.2 添加以下内容:

powershell 复制代码
# 启动顺序与依赖关系
[Unit]
# 描述信息,表明这个服务是 rabbitmq
Description=rabbitmq
# 指定服务在 network.target(网络初始化) 和 syslog.target(系统日志服务)之后启动
After=network.target syslog.target
# 启动行为
[Service]
# 以通知机制的方式启动
Type=notify
# 指定以 root 用户、root 用户组 身份运行服务
User=root
Group=root
# 设置服务的工作目录
WorkingDirectory=/usr/local/rabbitmq
# 服务启动命令路径
ExecStart=/usr/local/rabbitmq/sbin/rabbitmq-server
# 服务停止命令路径
ExecStop=/usr/local/rabbitmq/sbin/rabbitmqctl shutdown
# 当服务异常退出自动重启
Restart=on-failure
# 服务启用私有的 /tmp 目录,确保服务的临时文件与其他服务隔离
PrivateTmp=true
# 设置重启服务之前等待的秒数为 10 秒
RestartSec=10
# 定义服务成功退出的状态码
SuccessExitStatus=69

# 表示如何安装配置文件。
[Install]
# 多用户命令行模式
WantedBy=multi-user.target

4.3 重新加载systemctl脚本

powershell 复制代码
systemctl daemon-reload

4.4 开启开机自启

powershell 复制代码
systemctl enable rabbitmq

4.5 重启验证:

powershell 复制代码
reboot

感谢阅览,暂时记录到这,结束。

相关推荐
方渐鸿15 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
晓衣15 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
我爱云计算15 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
明明跟你说过15 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
KIDAKN15 小时前
RabbitMQ 初步认识
分布式·rabbitmq
pan30350747915 小时前
Kafka 和 RabbitMQ的选择
分布式·kafka·rabbitmq
2301_7943339117 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
打码人的日常分享18 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
荣光波比18 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
武文斌7718 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件