在 CentOS 7 上安装 Erlang 和 RabbitMQ |软呢帽 38/37/36/35/34
在这篇博文中,我将带您完成在 CentOS 7 上安装 Erlang 和 RabbitMQ |软呢帽 38/37/36/35/34/33。 RabbitMQ 是一款实现高级消息队列协议 (AMQP) 的开源消息代理软件。它从发布者(发布消息的应用程序)接收消息并将其路由到消费者(处理消息的应用程序)。
Erlang 是爱立信于 20 世纪 80 年代开发的一种编程语言。它旨在支持并发、分布式和容错系统的开发。 Erlang 的轻量级进程和消息传递模型可以轻松构建能够容忍故障的系统,例如分布式系统中单个节点的崩溃。
在我们之前的指南中,我们介绍了:
- 如何在 Ubuntu 上安装最新的 RabbitMQ 服务器
- 在 CentOS 6 和 CentOS 7 上安装 RabbitMQ
请按照以下步骤在 Fedora 上安装 RabbitMQ。
第 1 步:在 CentOS 7 上安装 Erlang |软呢帽
在安装 RabbitMQ 之前,您必须安装受支持的 Erlang/OTP 版本。
使用 bash 脚本添加 YUM 存储库:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
或者使用以下命令手动:
$ sudo vim /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
更新系统 YUM 存储库:
sudo yum clean all
sudo yum makecache
同意按要求导入存储库 GPG 密钥:
rabbitmq_rabbitmq-server 9.5 kB/s | 3.9 kB 00:00
Importing GPG key 0x4D206F89:
Userid : "https://packagecloud.io/rabbitmq/rabbitmq-server (https://packagecloud.io/docs#gpg_signing) <[email >"
Fingerprint: 8C69 5B02 19AF DEB0 4A05 8ED8 F4E7 8920 4D20 6F89
From : https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
Is this ok [y/N]: y
rabbitmq_rabbitmq-server 94 kB/s | 212 kB 00:02
rabbitmq_rabbitmq-server-source 260 B/s | 296 B 00:01
Metadata cache created.
在 CentOS 7/Fedora 上安装 Erlang。
sudo yum install erlang
通过运行 erl 命令确认安装:
$ erl
Erlang/OTP 25 [erts-13.1.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]
Eshell V13.1.3 (abort with ^G)
1>
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
(l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
q
第 2 步:在 CentOS 7 上安装 RabbitMQ |软呢帽
添加 RabbitMQ Yum 存储库:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
手动添加存储库:
$ sudo vim /etc/yum.repos.d/rabbitmq_rabbitmq-server.repo
[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
最后一步是 RabbitMQ 的实际安装:
sudo yum install rabbitmq-server
继续安装
....
Transaction Summary
======================================================================================================================================================================================================
Install 2 Packages
Total download size: 14 M
Installed size: 19 M
Is this ok [y/N]: y
确认安装的 RabbitMQ 版本:
$ rpm -qi rabbitmq-server
Name : rabbitmq-server
Version : 3.10.13
Release : 1.fc37
Architecture: x86_64
Install Date: Wed 25 Jan 2023 04:50:40 PM UTC
Group : Unspecified
Size : 22457597
License : MPLv1.1
Signature : RSA/SHA256, Tue 13 Dec 2022 09:17:47 PM UTC, Key ID f55ad3fb5323552a
Source RPM : rabbitmq-server-3.10.13-1.fc37.src.rpm
Build Date : Tue 13 Dec 2022 08:53:38 PM UTC
Build Host : buildvm-x86-12.iad2.fedoraproject.org
Packager : Fedora Project
Vendor : Fedora Project
....
第三步:启动RabbitMQ服务
现在您已经在 Fedora 上安装了 RabbitMQ,启动并启用该服务以在系统启动时启动:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
确认服务状态:
$ systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: disabled)
Active: active (running) since Wed 2023-01-25 16:51:06 UTC; 5s ago
Main PID: 2700 (beam.smp)
Tasks: 24 (limit: 4536)
Memory: 120.5M
CPU: 7.124s
CGroup: /system.slice/rabbitmq-server.service
├─2700 /usr/lib64/erlang/erts-13.1.3/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdc>
├─2710 erl_child_setup 1024
├─2756 /usr/lib64/erlang/erts-13.1.3/bin/inet_gethost 4
├─2757 /usr/lib64/erlang/erts-13.1.3/bin/inet_gethost 4
└─2760 /bin/sh -s rabbit_disk_monitor
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: Doc guides: https://rabbitmq.com/documentation.html
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: Support: https://rabbitmq.com/contact.html
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: Tutorials: https://rabbitmq.com/getstarted.html
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: Monitoring: https://rabbitmq.com/monitoring.html
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: Logs: /var/log/rabbitmq/[email
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: /var/log/rabbitmq/rabbit@fedora_upgrade.log
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: <stdout>
Jan 25 16:51:03 fedora.mylab.io rabbitmq-server[2700]: Config file(s): /etc/rabbitmq/rabbitmq.conf
Jan 25 16:51:06 fedora.mylab.io rabbitmq-server[2700]: Starting broker... completed with 0 plugins.
Jan 25 16:51:06 fedora.mylab.io systemd[1]: Started rabbitmq-server.service - RabbitMQ broker.
第 4 步:启用 RabbitMQ 仪表板(可选)
您可以选择启用 RabbitMQ 管理 Web 仪表板以方便管理:
sudo rabbitmq-plugins enable rabbitmq_management
Web 服务应侦听 TCP 端口 15672
$ sudo ss -tunelp | grep 15672
tcp LISTEN 0 128 0.0.0.0:15672 0.0.0.0:* users:(("beam.smp",pid=9525,fd=71)) uid:111 ino:39934 sk:9 <->
如果您有活动的 Firewalld 服务,请允许端口 5672
和 15672
:
sudo firewall-cmd --add-port={5672,15672}/tcp --permanent
sudo firewall-cmd --reload
通过打开服务器 IP 或主机名端口 15672 来访问它。
默认情况下,来宾用户存在并且只能从localhost
进行连接。您可以使用密码“guest”以该用户本地登录
为了能够登录网络,请创建一个管理员用户,如下所示:
sudo rabbitmqctl add_user admin StrongPassword
sudo rabbitmqctl set_user_tags admin administrator
使用此管理员用户名和分配的密码登录。
第5步:RabbitMQ用户管理命令
删除用户:
rabbitmqctl delete_user user
更改用户密码:
rabbitmqctl change_password user strongpassword
创建新的虚拟主机:
rabbitmqctl add_vhost /my_vhost
列出可用的虚拟主机:
rabbitmqctl list_vhosts
删除虚拟主机:
rabbitmqctl delete_vhost /myvhost
授予用户对虚拟主机的权限:
rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"
列出虚拟主机权限:
rabbitmqctl list_permissions -p /myvhost
列出用户权限:
rabbitmqctl list_user_permissions user
删除用户权限:
rabbitmqctl clear_permissions -p /myvhost user
下一篇要阅读的文章是:
- 如何备份和恢复 RabbitMQ 数据和配置