当前位置:   article > 正文

RabbitMQ在Linux上的安装和相关配置_rabbitmq linux

rabbitmq linux

1.RabbitMQ消息队列

RabbitMQ是基于Erlang语言开发的

RabbitMQ官网地址

注意ErlangRabbitMQ版本是有相应的一个关系的如下图3.9.13Erlang版本支持在23.2~24.x之间

在这里插入图片描述

2.将Erlang和RabbitMQ的rpm源文件放到第二台装有RabbitMQ服务器的opt文件夹下

在这里插入图片描述

3.在Linux中安装Erlang

执行语句

yum -y install esl-erlang_23.0.2-1_centos_7_amd64.rpm
  • 1

在这里插入图片描述

4.检测Erlang语言是否安装成功

执行语句

erl
  • 1

在这里插入图片描述

5.安装RabbitMQ

执行语句

yum install -y rabbitmq-server-3.8.5-1.el7.noarch.rpm
  • 1

在这里插入图片描述

6.查看RabbitMQ的插件列表

执行语句

rabbitmq-plugins list
  • 1

在这里插入图片描述

7.安装RabbitMQ管控制台的插件

在这里插入图片描述

执行语句 安装RabbitMQ可视化控制台

rabbitmq-plugins enable rabbitmq_management
  • 1

在这里插入图片描述

8.启动RabbitMQ(或者关闭RabbitMQ)

执行语句

systemctl start rabbitmq-server.service
  • 1

或者使用以下方法

关闭与启动
① 到指定目录:cd/etc/init.d
② 停止:rabbitmq-server stop
③ 启动:rabbitmq-server start
④ 查看是否停止/启动成功:ps -ef |grep rabbitmq

9.启动RabbitMQ是否启动成功

执行语句查看是否成功

systemctl status rabbitmq-server.service
  • 1

在这里插入图片描述

10.开放默认端口15672

执行语句

firewall-cmd --zone=public --add-port=15672/tcp --permanent
  • 1

在这里插入图片描述

11.访问控制台

默认端口是15672
默认用户名和密码都是guest

在这里插入图片描述

会提示用户只能在localhost里面登录,所要去修改,可以使用远程登录

12.开放控制台远程登录权限

  1. 进入默认安装后创建的rabbitmq文件夹
cd /etc/rabbitmq
  • 1
  1. 添加配置文件rabbitmq.config
    以下是rabbitmq.config文件内容写法(注意事项:俩种方法不能同时使用)
  • 第一种写法:
[{rabbit,[{loopback_users,[]}]}].
  • 1

注意: 这个.千万不能忘记,忘记会导致不能正常远程访问

  • 第二种写法(我使用的是这种写法):
#数据管理端口(默认端口为5672)
listeners.tcp.default=5762
#界面管理端口(默认端口为15672)
management.tcp.port=15762
#必须添加它才可以远程访问
#[{rabbit,[{loopback_users,[]}]}].
loopback_users.guest = false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

13.重启RabbitMQ服务

systemctl restart rabbitmq-server.service
  • 1

14.查看RabbitMQ重启是否成功

执行语句

systemctl status rabbitmq-server.service
  • 1

在这里插入图片描述

15.Rabbitmq配置文件说明

配置文件默认路径/etc/rabbitmq/rabbitmq.conf文件不存在可以手动创建

RabbitMQ3.7.0之前,RabbitMQ配置文件被命名为rabbitmq.config,并使用Erlang语法配置
运行3.7.0或更高版本仍然支持之前的配置,但建议使用新的sysctl格式

sysctl格式与erlang格式配置文件对比

##########sysctl 格式
ssl_options.cacertfile           = /path/to/testca/cacert.pem
ssl_options.certfile             = /path/to/server_certificate.pem
ssl_options.keyfile              = /path/to/server_key.pem
ssl_options.verify               = verify_peer
ssl_options.fail_if_no_peer_cert = true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
##########Erlang 格式
[
  {rabbit, [{ssl_options, [{cacertfile,           "/path/to/testca/cacert.pem"},
                           {certfile,             "/path/to/server_certificate.pem"},
                           {keyfile,              "/path/to/server_key.pem"},
                           {verify,               verify_peer},
                           {fail_if_no_peer_cert, true}]}]}
].
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Rabbitmq部分配置项说明

配置文件官方地址

#设置rabbimq的监听端口,默认为[5672]
listeners.tcp.local = 127.0.0.1:5672 
#客户端与服务端心跳间隔,用来检测通信的对端是否存活,rabbitmq使用心跳机制来保持连接,设置为0则关闭心跳,默认是600秒,600S发一次心跳包
heartbeat = 60    
#包大小,若包小则低延迟,若包则高吞吐,默认131072=128K
frame_max = 131072   
#连接客户端数量
channel_max = 128  
#内存告警值设置(相对值)
vm_memory_high_watermark.relative = 0.4 
#内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。如机器内存16G,当RABBITMQ占用内存1.28G(160.40.2)时把内存数据放到磁盘
vm_memory_high_watermark_paging_ratio = 0.5
#磁盘可用空间设置(绝对值)
disk_free_limit.absolute = 50000
#日志是否在控制台输出
log.console = false
#控制台输出的日志级别
log.console.level = info
log.exchange = false
log.exchange.level = info
#rabbitmq管理页面端口
management.tcp.port = 18085   
#rabbitmq管理页面IP地址
management.tcp.ip = 0.0.0.0   
#开启guest用户的远程链接 
loopback_users.guest = none
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

16.修改RabbitMQ的默认端口号

官网地址

  1. 默认15672端口号更改

    第一种方法:

    /etc/rabbitmq/rabbitmq.conf配置文件中加上如下配置:

    1)如果没有则进行创建

    cd /etc/rabbitmq
    vim rabbitmq.conf

    并找到rabbitmq默认配置文件

    cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/sbin/

    修改目录下的rabbitmq-defaults文件,并在文件的最后加上这一句

    CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf

    修改完默认端口后记得输入命令重启rabbitmq

    service rabbitmq-server restart

    2)否则直接编辑修改

    listeners.tcp.default = 5673

    或者

    [{rabbit, [{tcp_listeners, [5673]}]}]

    上面的示例将更改RabbitMQ监听AMQP0-9-1和AMQP 1.0协议客户端的连接端口从5672到5673。

    RabbitMQ服务器源存储库包含一个名为RabbitMQ.conf.example的配置文件示例,它包含你可能想要设置的大多数配置项的示例(省略了一些非常模糊的匹配项)。

    第二种方法:

    /etc/rabbitmq/rabbitmq-env.conf配置文件中添加如下配置:

    NODE_PORT=5673

    注意事项rabbitmq-env.conf配置文件中的配置优先级高于rabbitmq.conf配置文件中的配置

  2. 默认15672端口号更改

    /etc/rabbitmq/rabbitmq.conf配置文件中加上如下配置:

    management.tcp.port = 15673

  3. 默认25672端口号更改

    25672端口用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下仅限于单个端口,计算方式为AMQP 0-9-1和AMQP 1.0端口+20000),默认情况下通过 RABBITMQ_NODE_PORT 计算是25672,也可以通过RABBITMQ_DIST_PORT环境变量配置

    /etc/rabbitmq/rabbitmq-env.conf配置文件中添加如下配置:

    DIST_PORT=25674

    也可以通过设置 RABBITMQ_NODE_PORT计算 RABBITMQ_DIST_PORT 端口:

    NODE_PORT=5674

    上面两种方案一种是直接设置节点和CLI工具通信的分发端口,另外一种是通过设置RabbitMQ服务器和客户端之间通信端口并计算得到25674端口号。

  4. 默认4369端口号更改

    EPMD默认端口号是4369,但是可以使用ERL_EPMD_PORT环境变量更改。

    列出在当前运行的epmd中绑定注册的端口号及监听的分发端口:

    [root@rabbit1 rabbitmq]# epmd -names
    epmd: up and running on port 4369 with data:
    name rabbit at port 25672
    
    • 1
    • 2
    • 3

    修改epmd守护进程绑定的端口号:

    export ERL_EPMD_PORT=4365

    杀死epmd守护进程指令:

    epmd -kill

    当然直接在系统中使用export命令设置环境变量是可以生效的,但是只要系统重启环境变量就失效;可以在/etc/profile或/root/.bashrc文件配置系统环境变量,然后source 文件名就可以永久生效了。

————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Boy_Martin/article/details/128884421

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/452639
推荐阅读
相关标签
  

闽ICP备14008679号