首页 > 其他分享 >RabbitMQ的基础安装与使用

RabbitMQ的基础安装与使用

时间:2023-02-18 17:44:56浏览次数:517  
标签:基础 rabbitmq server rabbitmqctl RabbitMQ https erlang 安装 user

安装

主机部署

http://www.rabbitmq.com/install-rpm.html

选择RPM包下载,选择对应平台,本次安装在CentOS 7,其它平台类似。

由于使用了erlang语言开发,所以需要erlang的包。erlang和RabbitMQ的兼容性

参考https://www.rabbitmq.com/which-erlang.html#compatibility-matrix

下载rabbitmq-server-3.7.16-1.el7.noarch.rpm、erlang-21.3.8.6-1.el7.x86_64.rpm。socat在CentOS中源中有

# yum install erlang-21.3.8.6-1.el7.x86_64.rpm rabbitmq-server-3.7.16-1.el7.noarch.rpm

或者在线安装

https://www.rabbitmq.com/install-rpm.html#yum-legacy

新建yum源

$ vim /etc/yum.repos.d/rabbitmq.repo

##
## Zero dependency Erlang
##

[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=0
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

##
## RabbitMQ server
##

[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=0
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
repo_gpgcheck=0
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

更新所有软件

$ yum update -y

安装依赖

$ yum install socat logrotate -y

安装

$ yum install erlang rabbitmq-server -y

容器部署

docker-compose容器编排清单

version: '3'
services:
    rabbitmq:
      image: rabbitmq:3.11.7-management
      restart: always
      ports:
      - "15672:15672"
      - "5672:5672"
      container_name: rabbitmq
      environment:
        RABBITMQ_DEFAULT_USER: admin
        RABBITMQ_DEFAULT_PASS: admin
      volumes:
      - ./data/:/var/lib/rabbitmq
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime

启动插件

$ docker-compose exec rabbitmq rabbitmq-plugins enable rabbitmq_management rabbitmq_mqtt rabbitmq_web_mqtt

配置

http://www.rabbitmq.com/configure.html#config-location

环境变量

使用系统环境变量,如果没有使用rabbitmq-env.conf 中定义环境变量,否则使用缺省值

RABBITMQ_NODE_IP_ADDRESS the empty string, meaning that it should bind to all network interfaces.

RABBITMQ_NODE_PORT 5672

RABBITMQ_DIST_PORT RABBITMQ_NODE_PORT + 20000 内部节点和客户端工具通信用

RABBITMQ_CONFIG_FILE 配置文件路径默认为/etc/rabbitmq/rabbitmq

环境变量文件,可以不配置

插件管理

列出所有可用插件

$ rabbitmq-plugins list

启动WEB管理插件,会依赖启用其它几个插件。

$ rabbitmq-plugins enable rabbitmq_management

The following plugins have been enabled:

  rabbitmq_management

  rabbitmq_management_agent

  rabbitmq_web_dispatch
set 3 plugins.
[E ] rabbitmq_management               3.7.16
[e ] rabbitmq_management_agent         3.7.16
[e ] rabbitmq_web_dispatch             3.7.16

启动服务

$ systemctl start rabbitmq-server

启动中,可能出现下面的错误

Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces

就是这个文件的权限问题,修改属主、属组为rabbitmq即可

$ chown rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie: eacces

服务启动成功

$ ss -ntlp| grep 5672
LISTEN     0      128          *:15672                    *:*                   users:(("beam.smp",pid=90005,fd=35))
LISTEN     0      128          *:25672                    *:*                   users:(("beam.smp",pid=90005,fd=18))
LISTEN     0      128       [::]:5672                  [::]:*                   users:(("beam.smp",pid=90005,fd=33))

用户管理

新建管理员用户

使用guest/guest只能本地地登录,远程登录会报错

rabbitmqctl

rabbitmqctl [-n <node>][-t timeout] [-l][-q] <command> [<command options>]
General options:
    -n node              
    -q, --quiet            
    -t,--timeout timeout
    -l longnames
Commands:
    add_user <username> <password>        添加用户
    list_users                            列出用户
    delete_user username                  删除用户
    change_password <username> <password> 修改用户名、密码
    set_user_tags <username> <tag> [...]  设置用户tag
    list_user_permissions <username>      列出用户权限

添加用户:
rabbitmqctl add_user username password

删除用户:
rabbitmqctl delete_user username
更改密码:
rabbitmqctl change_password username newpassword
设置权限Tags,其实就是分配组
rabbitmqctl set_user_tags username tag

查看所有用户

rabbitmqctl list_users

设置hxg用户为管理员tag后登录

$ rabbitmqctl add_user hxg hxg
Adding user "hxg" ...
$ rabbitmqctl list_users

Listing users ...

hxg   []

guest   [administrator]
$ rabbitmqctl set_user_tags hxg administrator
Setting tags for user "hxg" to [administrator] ...
$ rabbitmqctl list_users

Listing users ...

hxg   [administrator]

guest   [administrator]

登录

开始登录WEB界面,http://10.0.0.5:15672


tag的意义如下
administrator 可以管理用户、权限、虚拟主机。

基本信息

虚拟主机

/为确实虚拟主机

缺省虚拟主机,默认只能是guest用户在本机连接。上图新建的用户hxg默认无法访问任何虚拟主机。

新建虚拟主键

Pika库

Pika是纯Python实现的支持AMQP协议的库

$ pip install pika

标签:基础,rabbitmq,server,rabbitmqctl,RabbitMQ,https,erlang,安装,user
From: https://www.cnblogs.com/guangdelw/p/17133154.html

相关文章

  • 1.Linux系统安装
    0.操作系统版本[root@yuanzj~]#cat/etc/redhat-releaseCentOSrelease6.10注意:在安装Oracle10g版本数据库时候,需要修改版本号为[root@yuanzj~]#cat/etc/redhat-......
  • RabbitMQ 服务器启用 SSL/TLS
    为客户端和服务器生成自签名证书为了启用TLS/SSL,我们需要证书/密钥对。这可以借助OpenSSL为客户端和服务器生成自签名证书。生成自签名CA证书我们现在将使用OpenSSL创......
  • 电学基础知识01
    一.电路的基本组成1,电路:电路是电流的流通路径,它是由一些电气设备和元器件按一定方式连接而成的.复杂的电路呈网状,又称网络.电路和网络这两个术语是通用的.2,电路的......
  • 为 RabbitMQ 服务器启用 SSL/TLS
    为RabbitMQ服务器启用SSL/TLS目录为RabbitMQ服务器启用SSL/TLS为客户端和服务器生成自签名证书在RabbitMQ服务器中启用TLS/SSL支持使用RabbitMQAssistant连......
  • eNSP的安装和使用​
    第一章:eNSP的安装和使用华为eNSP模拟器(EnterpriseNetworkSimulationPlatform)是华为官方推出的一款强大的图形化网络仿真工具平台,eNSP模拟器主要对企业网路由器、交换机......
  • VMwarestation安装centos系统
    上机实验11.软硬件准备软件:推荐使用vmware镜像:centos7下载网址https://mirror.iscas.ac.cn/centos/7/isos/x86_64/这个镜像网址实测比清华的镜像源快多了(建议使用)2.安......
  • c++ 待自我实现的基础组件
    内存池ringbuffer定时器rbtree原子操作共享内存slab文件操作elf文件解析死锁检测内存泄漏网络框架,epoll异步请求,redis,sql连接池线程池,日志相关协议......
  • IDEA的安装与使用(博文预览图)
    朝斯夕斯,念慈在慈(在此感谢尚硅谷宋红康老师的教程)章节文章地址1.认识IntelliJIDEAhttps://www.cnblogs.com/NorthPoet/p/17121420.html2.卸载与安......
  • 【算法训练营day46】LeetCode139. 单词拆分 多重背包基础
    LeetCode139.单词拆分题目链接:139.单词拆分独上高楼,望尽天涯路没什么思路。慕然回首,灯火阑珊处挖个坑,二刷的时候填。classSolution{public:boolwordBreak......
  • Windows下面查看python安装路径的快捷方法
    在Windows(Win10-Win11)下面,查看python的安装路径,比较快捷的方法是:打开CMD窗口,运行wherepython便可以查看python安装路径,不同机器不一样:C:\Users\WinUser01\AppData\Loca......