linux下如何安装rabbitmq

1090人浏览 / 0人评论 / 添加收藏

在 Linux 上安装 RabbitMQ 通常包括以下几个步骤:安装 Erlang(RabbitMQ 的依赖项),然后安装 RabbitMQ 本身。以下是详细的步骤,这些步骤适用于基于 Debian 的系统(如 Ubuntu),以及基于 Red Hat 的系统(如 CentOS 和 Fedora)。

基于 Debian 系统(如 Ubuntu)

1. 安装 Erlang

首先,添加 Erlang Solutions 的包仓库:

wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
sudo dpkg -i erlang-solutions_2.0_all.deb

更新包列表并安装 Erlang:

sudo apt-get update
sudo apt-get install erlang

2. 安装 RabbitMQ

添加 RabbitMQ 的包仓库:

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

添加 RabbitMQ 的公钥:

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

更新包列表并安装 RabbitMQ:

sudo apt-get update
sudo apt-get install rabbitmq-server

3. 启动 RabbitMQ 服务

启动 RabbitMQ 服务并设置为开机自启:

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

4. 验证安装

检查 RabbitMQ 服务状态:

sudo systemctl status rabbitmq-server

基于 Red Hat 系统(如 CentOS 和 Fedora)

1. 安装 Erlang

首先,添加 Erlang Solutions 的包仓库:

sudo yum install -y epel-release
sudo yum install -y https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

安装 Erlang:

sudo yum install -y erlang

2. 安装 RabbitMQ

添加 RabbitMQ 的包仓库:

sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq]
name=rabbitmq
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
gpgcheck=0
EOF

安装 RabbitMQ:

sudo yum install -y rabbitmq-server

3. 启动 RabbitMQ 服务

启动 RabbitMQ 服务并设置为开机自启:

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

4. 验证安装

检查 RabbitMQ 服务状态:

sudo systemctl status rabbitmq-server

启用 RabbitMQ 管理插件

RabbitMQ 提供了一个管理插件,可以通过 Web 界面管理 RabbitMQ。可以通过以下命令启用该插件:

sudo rabbitmq-plugins enable rabbitmq_management

启用后,可以通过浏览器访问管理界面,默认地址是 http://localhost:15672。默认的用户名和密码都是 guest

总结

从你提供的输出来看,RabbitMQ 服务器已经成功启动,并且正在运行。以下是一些后续步骤和建议,以确保你的 RabbitMQ 服务器配置正确并正常工作:

1. 检查 RabbitMQ 服务器状态

你已经使用 systemctl status rabbitmq-server 命令查看了 RabbitMQ 服务器的状态,结果显示服务器正在运行(active (running))。如果你想进一步确认,可以使用以下命令:

sudo rabbitmqctl status

这个命令会显示 RabbitMQ 服务器的详细状态信息,包括节点名称、Erlang 版本、插件和队列信息等。

2. 启用管理插件

RabbitMQ 提供了一个管理插件,可以通过 Web 界面管理 RabbitMQ。启用管理插件的命令如下:

sudo rabbitmq-plugins enable rabbitmq_management

启用后,管理界面可以通过浏览器访问,默认地址是 http://localhost:15672。默认的用户名和密码都是 guest

3. 配置防火墙(如果需要)

如果你的服务器上启用了防火墙,你需要确保允许 RabbitMQ 使用的端口(默认 5672 和 15672):

sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp

4. 创建用户和虚拟主机

为了安全起见,你可能需要创建一个新的用户和虚拟主机,而不是使用默认的 guest 用户。以下是一些基本的命令:

创建用户

sudo rabbitmqctl add_user myuser mypassword

设置用户权限

sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"

创建虚拟主机

sudo rabbitmqctl add_vhost myvhost

为用户分配虚拟主机权限

sudo rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"

5. 验证 Web 管理界面

打开浏览器,访问 http://localhost:15672,使用你创建的用户名和密码登录。你应该能够看到 RabbitMQ 的管理界面,并管理队列、交换机、绑定和用户等。

6. 测试消息传递

你可以使用之前提供的 Pika 示例代码来测试消息的发送和接收,以确保 RabbitMQ 正常工作。

发送消息

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()

接收消息

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')

def callback(ch, method, properties, body):
    print(f" [x] Received {body}")

channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()


全部评论