在 Ubuntu 下安装与管理 RabbitMQ(保姆级教程)

RabbitMQ 是一个开源的消息代理,它支持 AMQP(高级消息队列协议),并且广泛应用于企业级的分布式系统中。RabbitMQ 在 Ubuntu 上的安装和管理并不复杂,只需遵循一些步骤即可。


一、准备工作

  1. 操作系统要求
    • 本教程适用于 Ubuntu 20.04 或更高版本,确保你的 Ubuntu 系统已经安装并正常运行。
  2. 确保系统更新
    • 在安装 RabbitMQ 前,首先要确保你的系统是最新的。使用以下命令进行系统更新:sudo apt update sudo apt upgrade -y

二、安装 RabbitMQ

1. 安装 Erlang(RabbitMQ 依赖)

RabbitMQ 是使用 Erlang 编写的,因此我们首先需要安装 Erlang。

  1. 添加 Erlang 的官方仓库:RabbitMQ 官方推荐使用 Erlang 官方提供的包来安装,首先你需要安装 Erlang 的仓库。sudo apt install -y gnupg
  2. 下载并添加 Erlang 仓库密钥wget -qO - https://packages.erlang-solutions.com/debian/erlang-solutions_2.0_all.deb > erlang-solutions_2.0_all.deb sudo dpkg -i erlang-solutions_2.0_all.deb
  3. 更新 APT 索引sudo apt update
  4. 安装 Erlangsudo apt install -y erlang 安装完成后,验证 Erlang 是否成功安装:erl 如果进入 Erlang shell,则安装成功。

2. 安装 RabbitMQ

  1. 添加 RabbitMQ 的官方仓库:现在,我们需要添加 RabbitMQ 的官方源。首先安装 curl(如果没有安装):sudo apt install -y curl
  2. 下载并安装 RabbitMQ 的公共密钥wget -qO - https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.7C4E2156E4A19E2D.asc | sudo tee /etc/apt/trusted.gpg.d/rabbitmq.asc
  3. 添加 RabbitMQ 仓库sudo sh -c 'echo "deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu focal main" > /etc/apt/sources.list.d/rabbitmq.list'
  4. 更新 APT 索引并安装 RabbitMQsudo apt update sudo apt install rabbitmq-server -y
  5. 启用并启动 RabbitMQ 服务:安装完成后,启用 RabbitMQ 服务并启动:sudo systemctl enable rabbitmq-server sudo systemctl start rabbitmq-server
  6. 检查 RabbitMQ 服务状态:确保 RabbitMQ 服务正在运行:sudo systemctl status rabbitmq-server 如果看到 active (running) 状态,说明 RabbitMQ 已成功启动。

三、管理 RabbitMQ

1. 启动、停止和重启 RabbitMQ 服务

  • 启动服务sudo systemctl start rabbitmq-server
  • 停止服务sudo systemctl stop rabbitmq-server
  • 重启服务sudo systemctl restart rabbitmq-server

2. 检查 RabbitMQ 状态

  • 查看 RabbitMQ 服务状态sudo systemctl status rabbitmq-server
  • 查看 RabbitMQ 进程ps aux | grep rabbitmq

3. 启用 RabbitMQ 管理插件

RabbitMQ 提供了一个 Web 管理界面,方便用户监控和管理 RabbitMQ 服务。你可以通过以下命令启用该插件:

sudo rabbitmq-plugins enable rabbitmq_management

启用后,RabbitMQ 管理界面可以通过浏览器访问:

http://localhost:15672/

默认的用户名和密码是:

  • 用户名guest
  • 密码guest

你可以通过 Web 界面查看 RabbitMQ 的队列、交换机、绑定和消费者等信息。

4. 创建用户和权限管理

  • 添加新用户sudo rabbitmqctl add_user your_username your_password
  • 赋予管理员权限sudo rabbitmqctl set_user_tags your_username administrator
  • 给用户分配虚拟主机(vhost)权限sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"
  • 删除用户sudo rabbitmqctl delete_user your_username
  • 列出所有用户sudo rabbitmqctl list_users

四、配置 RabbitMQ

RabbitMQ 支持通过修改配置文件进行进一步的配置。配置文件的路径通常位于 /etc/rabbitmq/rabbitmq.conf,如果文件不存在,你可以创建一个。

sudo nano /etc/rabbitmq/rabbitmq.conf

常用配置项:

  • 设置端口:修改 RabbitMQ 监听端口(默认 5672)。
  • 启用 SSL:可以在配置文件中启用 SSL 以支持加密连接。

示例配置

listeners.tcp.default = 5672
management.tcp.port = 15672

保存并退出后,重启 RabbitMQ 服务来使配置生效:

sudo systemctl restart rabbitmq-server

五、卸载 RabbitMQ

如果你决定卸载 RabbitMQ,可以按照以下步骤操作:

  1. 停止 RabbitMQ 服务sudo systemctl stop rabbitmq-server
  2. 卸载 RabbitMQsudo apt remove --purge rabbitmq-server -y
  3. 删除 RabbitMQ 数据和配置文件sudo rm -rf /var/lib/rabbitmq/ sudo rm -rf /etc/rabbitmq/
  4. 卸载 Erlang(如果不需要)sudo apt remove --purge erlang*

六、总结

  • 安装 Erlang 和 RabbitMQ:通过添加官方仓库和密钥,安装 RabbitMQ 依赖的 Erlang 和 RabbitMQ 本身。
  • 启用 Web 管理插件:使用 rabbitmq-plugins enable rabbitmq_management 启用 Web 管理界面,方便通过浏览器监控 RabbitMQ。
  • 用户和权限管理:通过命令行工具管理用户、权限和虚拟主机。
  • 配置 RabbitMQ:可以通过修改 rabbitmq.conf 配置文件来进一步定制 RabbitMQ 的行为。
  • 卸载 RabbitMQ:在需要时,可以彻底卸载 RabbitMQ 和 Erlang。

通过这些步骤,你已经成功安装、配置并管理了 RabbitMQ。