Centos7搭建单机RabbitMQ
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了 Centos7搭建单机RabbitMQ,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5327字,纯文字阅读大概需要8分钟。
内容图文
![Centos7搭建单机RabbitMQ](/upload/InfoBanner/zyjiaocheng/930/af3c94bb58e44fe889e05600bf2a2069.jpg)
Centos7搭建单机RabbitMQ
必要环境准备
yum -y install wget make gcc gcc-c++ kernel-devel openssl-devel ncurses-deve
安装erlang
yum install -y epel-release
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install -y erlang
erl -version
或者这样
新建文件 内容如下vi /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
enabled=1
[root@192 ~]# yum install erlang
安装RabbitMQ
导入密钥
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgke
rpm --import https://packagecloud.io/gpg.key
为了使用yum存储库,必须在/etc/yum.repos.d/目录下添加一个.repo文件(例如rabbitmq-server.repo)。
Centos7
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
Centos8
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/8/
gpgcheck=0
repo_gpgcheck=0
enabled=1
安装rabbitmq
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.11/rabbitmq-server-3.8.11-1.el7.noarch.rpm #Centos7
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.11/rabbitmq-server-3.8.11-1.el8.noarch.rpm #Centos8
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
yum install rabbitmq-server-3.8.11-1.el7.noarch.rpm #Centos7
yum install rabbitmq-server-3.8.11-1.el8.noarch.rpm #Centos8
使用
安装RabbitMQ服务器软件包时,默认情况下未将服务器作为守护程序启动。 在系统引导时默认启动守护程序,以管理员身份运行
chkconfig rabbitmq-server on
启动服务
systemctl start rabbitmq-server #启动服务
systemctl stop rabbitmq-server #关闭服务
查看相关的配置选项
[root@test opt]# rabbitmqctl status
Status of node rabbit@test ...
Runtime
OS PID: 19823
OS: Linux
Uptime (seconds): 368
Is under maintenance?: false
RabbitMQ version: 3.8.11
Node name: rabbit@test
Erlang configuration: Erlang/OTP 23 [erts-11.1.5] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]
Erlang processes: 277 used, 1048576 limit
...........
常见端口
在正常启动的情况下,节点使用系统的默认值来运行,如果想了解更多更多的配置选项来适合在生产环境下的需求,请参考官方的配置指南。
注意:节点默认使用rabbitmq用户来运行服务。如果更改了节点数据库或日志的位置,则应该将劝降付给rabbitmq用户
RabbitMQ常见的一些端口的介绍,
- 4369: epmd、RabbitMQ 节点和 CLI 工具使用的对等发现服务
- 5672、5671:AMQP 0-9-1 和 1.0 客户端使用,无需 TLS
- 25672:用于节点间和 CLI 工具通信(Erlang 分发服务器端口),从动态范围(默认情况下限制为单个端口,计算为 AMQP 端口 = 20000)分配。除非这些端口上的外部连接确实是必要的(例如,群集使用联合或 CLI 工具在子网外的计算机上使用),否则不应公开这些端口。有关详细信息,请参阅网络指南。
- 35672-35682:CLI 工具(Erlang 分发客户端端口)用于与节点通信,从动态范围(通过服务器分发端口 = 10000 计算为服务器分发端口 = 10010)进行分配。有关详细信息,请参阅网络指南。
- 15672:HTTP API客户端、管理 UI 和 rabbitmqadmin(仅在启用管理插件时)
- 61613, 61614:没有 TLS和 TLS 的 STOMP 客户端(仅在启用 STOMP 插件时)
- 1883, 8883: MQTT 客户端没有和与 TLS, 如果MQTT插件启用
- 15674: 在 WebSockets 客户端上安装
- 15675: MQTT- 网络搜索客户端(仅在启用 Web MQTT 插件时)
- 15692: 普罗米修斯指标(仅在启用普罗米修斯插件时)
用户管理
rabbitmqctl add_user 'admin' 'admin123' #添加用户admin 密码为admin123
rabbitmqctl set_user_tags admin administrator
rabbitmqctl list_users #列出用户
rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*" #授予admin权限 /虚拟主机所有权限
rabbitmqctl clear_permissions -p "/" "admin" #撤销权限
rabbitmqctl delete_user 'admin' #删除用户
每个rabbitmqctl权限管理操作都作用于单个虚拟主机。 批量操作必须编写脚本,虚拟主机的列表来自rabbitmqctl list_vhosts --silent:
# 假设使用Linux Shell。
# 授予用户对所有虚拟主机的权限。
for v in $(rabbitmqctl list_vhosts --silent); do rabbitmqctl set_permissions -p $v "a-user" ".*" ".*" ".*"; done
开启Web管理界面插件
[root@test opt]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@test:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@test...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
开启后访问http://ip:15672
来访问管理界面,如果不能访问请检查防火墙是否开放端口。
[root@test opt]# firewall-cmd --zone=public --add-port=5672/tcp --permanent
success
[root@test opt]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
success
[root@test opt]# firewall-cmd --zone=public --add-port=25672/tcp --permanent
success
[root@test opt]# firewall-cmd --reload
success
其他操作
查看运行日志
sudo journalctl --system | grep rabbitmq
查看已启用的端口
[root@test opt]# rabbitmqctl status | grep Interface
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: [::], port: 15672, protocol: http, purpose: HTTP API
查看已启用的插件
rabbitmq-plugins list
内容总结
以上是互联网集市为您收集整理的 Centos7搭建单机RabbitMQ全部内容,希望文章能够帮你解决 Centos7搭建单机RabbitMQ所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。