基于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

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

相关推荐
繁依Fanyi6 分钟前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.6 分钟前
Linux|环境变量
linux·运维·服务器
yunfanleo21 分钟前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
m512722 分钟前
LinuxC语言
java·服务器·前端
运维-大白同学44 分钟前
将django+vue项目发布部署到服务器
服务器·vue.js·django
糖豆豆今天也要努力鸭1 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎1 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
乐大师1 小时前
Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
运维·服务器
ac.char1 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾1 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc