一站式流程,从安装到抬走,就这一篇文章就够了!
PS:网上的大哥们,你们写文章好歹自己测试一下啊。。。/(ㄒoㄒ)/~~
1. 来这个网址找到 RabbitMQ 与 Erlang 版本对应关系
RabbitMQ Erlang Version Requirements — RabbitMQ
2. 来这个网址找到 Erlang 的安装包
Releases · rabbitmq/erlang-rpm · GitHub
3. 来这个网址找到 RabbitMQ 的安装包
Releases · rabbitmq/rabbitmq-server · GitHub
4. 下载选好的安装包到服务器(注意下载的时候找好对应服务器的版本)
# 我这以Centos -7 安装 RabbitMQ 3.8.4 为例子
# RabbitMQ-3.8.4 要求 Erlang版本为:21.3、22.3、23.0
-------------------------------------------------------------------------------------------
# 下载安装包
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.1/erlang-23.1-1.el7.x86_64.rpm
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.4/rabbitmq-server-3.8.4-1.el7.noarch.rpm
# 使用 yum 安装
yum install erlang-23.1-1.el7.x86_64.rpm -y
yum install rabbitmq-server-3.8.4-1.el7.noarch.rpm -y
# 安装后配置开机自启动并启动RabbitMQ
systemctl enable rabbitmq-server
systemctl start rabbitmq-server
5. 来这个网址下载插件
# 我这以 RabbitMQ-3.8.4 版本 安装 rabbitmq-delayed-message-exchange 延时消息插件为例
# 1. 进入插件目录
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.4/plugins
# 2. 下载插件
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez
# 3. 启用管理面板插件
rabbitmq-plugins enable rabbitmq_management
# 4. 启用延时消息插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
# 5. 重启 RabbitMQ
systemctl restart rabbitmq-server
# 禁用延时消息插件命令,把启用插件命令中的 enable 换成 disable 就行了
rabbitmq-plugins disable rabbitmq_delayed_message_exchange
6. 配置 RabbitMQ 的用户
# 1. 增加一个用户名为 admin ,密码为 admin@123 的用户
rabbitmqctl add_user admin admin@123
# 2. 然后修改用户角色为管理员:
rabbitmqctl set_user_tags admin administrator
# 3. 最后给admin用户添加权限:
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
# PS 授权自己看着来,我这就以授权给所有做个示范。
# 操作错了要反悔看下面 👇
# 删除 admin 用户
rabbitmqctl delete_user admin
# 修改 admin 密码
rabbitmqctl change_password admin [新密码]
7. 给 RabbitMQ 管理面板配置 Nginx 反向代理
server {
listen 80;
server_name www.xxxxx.com;
location / {
proxy_pass http://localhost:15672;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
}
}