现在能直接搜到的源码安装方法基本都无法开机启动,根据本文操作可以实现
linux通用,3.11.10版本(2023.3)
1.erlang环境配置
按照我的这篇文章:
链接: erlang环境安装
改版本适配:erlang25
2.安装包下载
下载地址: rabbit-server
找到类似这样的安装包:rabbitmq-server-generic-unix-3.11.10.tar.xz
cd /usr/local
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.10/rabbitmq-server-generic-unix-3.11.10.tar.xz
如果下载过慢,建议用别的镜像站下载后上传到安装的服务器
3.解压
tar -xvf rabbitmq-server-generic-unix-3.11.10.tar.xz
4.重命名
解压后的是已经编译好的
mv rabbitmq_server-3.11.10 /usr/local/rabbitmq && cd /usr/local/rabbitmq
5.加入环境变量
vi /etc/profile
添加以下地址到环境变量的PATH中,用:和其它的进行分割分割
/usr/local/rabbitmq/sbin
刷新环境变量
source /etc/profile
查看环境变量是否加入
env
6.初始化用户
后台启动
rabbitmq-server -detached
添加用户,根据自己情况使用。下面的命令是用户名:abc,密码:abc123456
rabbitmqctl add_user abc abc123456
设定权限
rabbitmqctl set_permissions -p "/" abc ".*" ".*" ".*"
rabbitmqctl set_user_tags abc administrator
安装web管理插件
rabbitmq-plugins enable rabbitmq_management
显示插件列表(可选)
rabbitmq-plugins list -e
重启
rabbitmqctl stop && rabbitmq-server -detached
7.systemctl管理及开机自启
rabbitmq依照当前的环境变量和用户进行启动,编写systemctl脚本时需要注意User和Group。Type为notify。umask为0027
创建erlang的软链接,否则会报错
ln -s /usr/local/erlang/bin/erl /usr/bin/erl
编辑systemctl脚本
vi /lib/systemd/system/rabbitmq.service
内容如下:
[Unit]
Description=rabbitmq
After=network.target
[Service]
Type=notify
User=root
Group=root
UMask=0027
NotifyAccess=all
Restart=on-failure
RestartSec=10
ExecStart=/usr/local/rabbitmq/sbin/rabbitmq-server
ExecStop=/usr/local/rabbitmq/sbin/rabbitmqctl shutdown
SuccessExitStatus=69
[Install]
WantedBy=multi-user.target
刷新systemctl脚本
systemctl daemon-reload
开启、开机启动、检查状态
systemctl start rabbitmq && systemctl enable rabbitmq && systemctl status rabbitmq
注意:如果不想使用root运行,应该提前建立新用户和用户组,并创建rabbitmq节点
8.web端管理
打开浏览器,访问ip:15672,输入上面创建的用户名密码(abc那个)
也可以验证rabbit是否安装成功
9.其它:rabbitmq基本命令操作
手动操作,不推荐使用,建议使用上面的systemctl管理
启动
rabbitmq-server
后台启动
rabbitmq-server -detached
关闭
rabbitmqctl stop
查看状态
rabbitmqctl status