以下方法采用的ErLang自编译+RabbitMQ离线版安装,因此无法使用systemctl进行管理,请知悉。
另外,如果直接使用ErLang和RabbitMQ离线包在离线环境中进行安装时,可能需要其他依赖包的下载,这里暂不列出,用户请自行测试。
一、版本等信息
- 操作系统:CentOS Linux release 8.5.2111(内核版本:6.12.1)
- RabbitMQ:3.13.7
- ErLang:26+(RabbitMQ与ErLang对应关系)
- 安装主机:172.16.1.102
二、安装
1.安装ErLang
参考CentOS8 安装 erlang 和 RabbitMQ-腾讯云开发者社区-腾讯云这篇文章进行安装,注意,安装的ErLang版本需要在26之上。
# 安装依赖(防止配置安装路径报错,提前进行依赖安装或更新)
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
# 进入指定目录
cd /usr/local
# 进行断电续传下载
wget -c http://erlang.org/download/otp_src_26.0.tar.gz
# 解压缩目录
tar -zxf otp_src_26.0.tar.gz
# 进入解压缩目录
cd otp_src_26.0
# 创建erlang目录
mkdir ../erlang
# 配置安装路径
./configure --prefix=/usr/local/erlang
# 安装
make install
# 查看是否安装成功
ll /usr/local/erlang/bin
# 添加环境变量
echo -e '\nexport PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
# 刷新环境变量
source /etc/profile
# 命令测试
erl
2.安装 RabbitMQ
1) 下载rabbitmq-server(也可以离线下载后上传)
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.7/rabbitmq-server-generic-unix-3.13.7.tar.xz
2) 配置环境变量
注意配置在profile中的环境变量是否正确,可能存在与erlang在一行且刷新后导致erlang不生效的问题!
echo -e '\nexport PATH=$PATH:/usr/local/rabbitmq_server-3.13.7/sbin' >> /etc/profile
# 检查环境变量
cat /etc/profile
# 刷新环境变量
source /etc/profile
3) 常用命令
# 启动rabbitmq-server
rabbitmq-server -detached
# 查看状态命令
rabbitmqctl status
# 停止命令
rabbitmqctl stop
开启web插件
# 开启web插件(开启后可以通过web进行访问,开启后重启rabbitmq-server)
rabbitmq-plugins enable rabbitmq_management
访问:http://127.0.0.1:15672/
默认账号密码:guest guest(这个账号只允许本机访问)
4) 用户管理
# 查看所有用户
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
# 查看vhost(/)允许哪些用户访问
rabbitmqctl list_permissions -p /
# 删除guest用户(测试环境可选)
rabbitmqctl delete_user guest
5) 测试登陆
配置好用户之后重启一下 rabbitMQ 然后就可以用新账号进行登陆,这里使用
admin/123456
登陆
6) 自启说明
由于离线安装无法使用systemctl进行设置自启,因此当操作系统重启后需手动执行重启命令,或执行以下命令,将启动命令写入系统启动脚本中
echo -e "\n# start RabbitMQ" >> rc.local
echo -e "\nrabbitmq-server -detached" >> rc.local