在Linux服务器上安装和配置RabbitMQ

魔法学徒喵 2022-09-05 ⋅ 19 阅读

RabbitMQ是一个功能丰富的开源消息代理软件,被广泛用于构建分布式系统和异步通信的应用程序。它基于AMQP(高级消息队列协议)实现,并提供了易于使用的管理界面。

本文将介绍在Linux服务器上安装和配置RabbitMQ的步骤,以便您能够开始使用这个强大的消息代理。

步骤1:安装依赖项

首先,我们需要安装一些依赖项,以确保RabbitMQ能够正常运行。打开终端并运行以下命令:

sudo apt-get update
sudo apt-get install build-essential libssl-dev wget

这将安装构建工具和ssl库,以及用于下载RabbitMQ软件包的wget工具。

步骤2:下载并安装RabbitMQ

接下来,我们将从RabbitMQ官方网站下载最新的软件包。使用wget命令下载RabbitMQ的Debian软件包,运行以下命令:

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.5/rabbitmq-server_3.9.5-1_all.deb

下载完成后,使用以下命令安装软件包:

sudo dpkg -i rabbitmq-server_3.9.5-1_all.deb

步骤3:启动RabbitMQ服务

安装完成后,我们可以启动RabbitMQ服务。运行以下命令:

sudo service rabbitmq-server start

您可以使用以下命令检查RabbitMQ服务的运行状态:

sudo service rabbitmq-server status

如果服务正在运行,您将看到类似于以下输出:

Status of node 'rabbit@localhost' ...
[{pid,19375},
 {running_applications,[{rabbit,"RabbitMQ","3.9.5"},
                        {rabbit_common,
                         "Modules shared by rabbitmq-server plugins",
                         "3.9.5"},
                        {rabbitmq_management,"RabbitMQ Management Console","3.9.5"},
                        {rabbitmq_management_agent,"RabbitMQ Management Agent","3.9.5"},
                        {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.9.5"},
                        {rabbitmq_management_visualiser,
                         "RabbitMQ Management Visualiser","3.9.5"},
                        {amqp_client,"RabbitMQ AMQP Client","6.2.1"},
                        {rabbitmq_event_exchange,
                         "RabbitMQ Event Exchange","3.9.5"},
                        {recon,"Diagnostic tools for production use","2.5.1"},
                        {jiffy,"Fast JSON parsing and encoding","1.0.10"},
                        {erlang_js,"Erlang Connector for JavaScript","3.4.2"},
                        {jsx,"a streaming, evented json parsing toolkit","2.11.0"},
                        {poolboy,"A hunky Erlang worker pool factory","1.5.2"},
                        {ranch,"Socket acceptor pool for TCP protocols.","1.8.2"},
                        {beval,"Evals (most) expressions in binaries","1.2.6"},
                        {os_mon,"CPO  CXC 138 46","cage0000"},
                        {ssl,"Erlang/OTP SSL application","10.2"},
                        {public_key,"Public key infrastructure","1.12"},
                        {crypto,"CRYPTO","4.11.4"},
                        {asn1,"The Erlang ASN1 compiler version 5.0.9","5.0.9"},
                        {compiler,"ERTS  CXC 138 10","7.8.10"},
                        {syntax_tools,"Syntax tools","2.4.1"},
                        {sasl,"SASL  CXC 138 11","3.5"},
                        {stdlib,"ERTS  CXC 138 10","3.15"},
                        {kernel,"ERTS  CXC 138 10","8.3"}]},
 {os,{unix,linux}},
 {erlang_version,
  "Erlang/OTP 24 [erts-12.2.3.7] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:64] [jit] [purify] [dtrace]\n"},
 {memory,
  [{connection_readers,0},
   {connection_writers,0},
   {connection_channels,0},
   {connection_other,0},
   {queue_procs,0},
   {queue_slave_procs,0},
   {plugins,1576096},
   {other_proc,13673504},
   {mnesia,76224},
   {mgmt_db,415792},
   {msg_index,128224},
   {other_ets,430984},
   {binary,923660},
   {other_system,15092889},
   {allocated_unused,6856},
   {reserved_unallocated,0},
   {strategy,rpg_sticky_queue},
   {total,[{erlang,51923736},{rss,38719488},{allocated,51923736}]}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},

步骤4:配置RabbitMQ

默认情况下,RabbitMQ使用guest/guest作为默认的用户名和密码。为了增加安全性,我们应该更改默认凭据。

运行以下命令以创建一个新的用户:

sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_user_tags myuser administrator
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"

上述命令将创建一个名为myuser的用户,并将其分配为管理员角色。该用户将获得对所有虚拟主机的完全权限。

步骤5:访问RabbitMQ管理界面

现在,您可以使用任何Web浏览器与RabbitMQ管理界面进行交互。默认情况下,RabbitMQ管理界面在http://localhost:15672上运行。

使用刚才创建的用户名和密码登录管理界面,您将能够查看和管理队列、交换机等各种RabbitMQ组件。

结论

通过按照上述步骤,在Linux服务器上安装和配置RabbitMQ是非常简单的。RabbitMQ提供了一个强大的消息代理平台,可以用于构建异步通信的应用程序和分布式系统。

希望本文对您有所帮助,并鼓励您探索并利用RabbitMQ在您的项目中提供的各种功能。

欢迎在评论区分享您的体验和疑问!


全部评论: 0

    我有话说: