最近项目需要安装一个RabbitMQ环境,RabbitMQ 网站上的文档质量一般,按照Installing on Debian and Ubuntu 文档做了一次不成功。

后来折腾一番后,终于成功了,下面把步骤记录下来给大家参考。

1. 安装Erlang

RabbitMQ 是使用Erlang 开发的,安装RabbitMQ 前,需要先把Erlang 环境安装好。

1.1. 导入Erlang GPG 密钥

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -

1.2 向系统加入Erlang仓库记录

echo "deb https://packages.erlang-solutions.com/ubuntu bionic contrib" | sudo tee /etc/apt/sources.list.d/rabbitmq.list

1.3 安装Erlang

sudo apt update
sudo apt -y install erlang

注:跳过1.1和1.2,直接执行1.3 的话,会安装一个比较旧的erlang 版本,导致安装RabbitMQ 时失败

2. 安装RabbitMQ

2.1 导入RabbitMQ 密钥

wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc | sudo apt-key add -
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

2.2 向系统加入RabbitMQ仓库记录

echo "deb https://dl.bintray.com/rabbitmq/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list

2.3 安装RabbitMQ

sudo apt update
sudo apt -y install rabbitmq-server

2.4 检查RabbitMQ 运行状态

安装完成后,使用下面命令检查RabbltMQ 已经正常运行

sudo systemctl is-enabled rabbitmq-server.service 

2.5 安装Web管理台

sudo rabbitmq-plugins enable rabbitmq_management

3. 配置RabbitMQ

3.1 开放防火墙端口

sudo ufw allow proto tcp from any to any port 5672,15672

3.2 添加用户

安装完成后缺省的用户是guest,缺省密码是guest, 可以用下面的命令设置新的管理员账号及密码

sudo rabbitmqctl add_user admin
rabbitmqctl set_user_tags admin administrator

3.3 设置Web管理台可以远程登陆(可选)

缺省情况下。Web管理台只可以在localhost上访问,如需要在其它机器上访问,可以按下面步骤修改:

  1. 用文本编辑器(比如vi)打开 /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.2/ebin/rabbit.app 文件,并找到下面的记录
{loopback_users, [<<"guest">>]},
  1. 将其中的<<"guest">> 删除掉,修改后如下
{loopback_users, []},

3.保存退出文本编辑器
4.使用下面命令重启RabbitMQ服务

sudo systemctl restart rabbitmq-server.service

完成上述的配置后,mq可以投入使用。登陆http://your-mq-server:15672 ,用3.2中定义的账号密码登陆,可使用RabbitMQ的管理台。

RabbitMQ

---The End ---