ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Centos7搭建单机RabbitMQ

2021-01-31 14:03:07  阅读:199  来源: 互联网

标签:单机 -- rabbitmq server Centos7 rabbitmqctl RabbitMQ erlang rpm


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

标签:单机,--,rabbitmq,server,Centos7,rabbitmqctl,RabbitMQ,erlang,rpm
来源: https://www.cnblogs.com/cuianbing/p/14352420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有