在 Linux 上安装 RabbitMQ 通常包括以下几个步骤:安装 Erlang(RabbitMQ 的依赖项),然后安装 RabbitMQ 本身。以下是详细的步骤,这些步骤适用于基于 Debian 的系统(如 Ubuntu),以及基于 Red Hat 的系统(如 CentOS 和 Fedora)。
首先,添加 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
添加 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
启动 RabbitMQ 服务并设置为开机自启:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
检查 RabbitMQ 服务状态:
sudo systemctl status rabbitmq-server
首先,添加 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
添加 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
启动 RabbitMQ 服务并设置为开机自启:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
检查 RabbitMQ 服务状态:
sudo systemctl status rabbitmq-server
RabbitMQ 提供了一个管理插件,可以通过 Web 界面管理 RabbitMQ。可以通过以下命令启用该插件:
sudo rabbitmq-plugins enable rabbitmq_management
启用后,可以通过浏览器访问管理界面,默认地址是 http://localhost:15672
。默认的用户名和密码都是 guest
。
从你提供的输出来看,RabbitMQ 服务器已经成功启动,并且正在运行。以下是一些后续步骤和建议,以确保你的 RabbitMQ 服务器配置正确并正常工作:
你已经使用 systemctl status rabbitmq-server
命令查看了 RabbitMQ 服务器的状态,结果显示服务器正在运行(active (running)
)。如果你想进一步确认,可以使用以下命令:
sudo rabbitmqctl status
这个命令会显示 RabbitMQ 服务器的详细状态信息,包括节点名称、Erlang 版本、插件和队列信息等。
RabbitMQ 提供了一个管理插件,可以通过 Web 界面管理 RabbitMQ。启用管理插件的命令如下:
sudo rabbitmq-plugins enable rabbitmq_management
启用后,管理界面可以通过浏览器访问,默认地址是 http://localhost:15672
。默认的用户名和密码都是 guest
。
如果你的服务器上启用了防火墙,你需要确保允许 RabbitMQ 使用的端口(默认 5672 和 15672):
sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp
为了安全起见,你可能需要创建一个新的用户和虚拟主机,而不是使用默认的 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 ".*" ".*" ".*"
打开浏览器,访问 http://localhost:15672
,使用你创建的用户名和密码登录。你应该能够看到 RabbitMQ 的管理界面,并管理队列、交换机、绑定和用户等。
你可以使用之前提供的 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()
全部评论