相关推荐recommended
RabbitMQ在Linux上的安装和相关配置
作者:mmseoamin日期:2024-01-25

目录

    • 1.RabbitMQ消息队列
    • 2.将Erlang和RabbitMQ的rpm源文件放到第二台装有RabbitMQ服务器的opt文件夹下
    • 3.在Linux中安装Erlang
    • 4.检测Erlang语言是否安装成功
    • 5.安装RabbitMQ
    • 6.查看RabbitMQ的插件列表
    • 7.安装RabbitMQ管控制台的插件
    • 8.启动RabbitMQ(或者关闭RabbitMQ)
    • 9.启动RabbitMQ是否启动成功
    • 10.开放默认端口15672
    • 11.访问控制台
    • 12.开放控制台远程登录权限
    • 13.重启RabbitMQ服务
    • 14.查看RabbitMQ重启是否成功
    • 15.Rabbitmq配置文件说明
    • 16.修改RabbitMQ的默认端口

      1.RabbitMQ消息队列

      RabbitMQ是基于Erlang语言开发的

      RabbitMQ官网地址

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

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第1张

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

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第2张

      3.在Linux中安装Erlang

      执行语句

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

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第3张

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

      执行语句

      erl
      

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第4张

      5.安装RabbitMQ

      执行语句

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

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第5张

      6.查看RabbitMQ的插件列表

      执行语句

      rabbitmq-plugins list
      

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第6张

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

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第7张

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

      rabbitmq-plugins enable rabbitmq_management
      

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第8张

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

      执行语句

      systemctl start rabbitmq-server.service
      

      或者使用以下方法

      关闭与启动

      ① 到指定目录:cd/etc/init.d

      ② 停止:rabbitmq-server stop

      ③ 启动:rabbitmq-server start

      ④ 查看是否停止/启动成功:ps -ef |grep rabbitmq

      9.启动RabbitMQ是否启动成功

      执行语句查看是否成功

      systemctl status rabbitmq-server.service
      

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第9张

      10.开放默认端口15672

      执行语句

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

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第10张

      11.访问控制台

      默认端口是15672

      默认用户名和密码都是guest

      RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第11张

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

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

      1. 进入默认安装后创建的rabbitmq文件夹
      cd /etc/rabbitmq
      
      1. 添加配置文件rabbitmq.config

        以下是rabbitmq.config文件内容写法(注意事项:俩种方法不能同时使用)

      • 第一种写法:
        [{rabbit,[{loopback_users,[]}]}].
        

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

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

          13.重启RabbitMQ服务

          systemctl restart rabbitmq-server.service
          

          14.查看RabbitMQ重启是否成功

          执行语句

          systemctl status rabbitmq-server.service
          

          RabbitMQ在Linux上的安装和相关配置,在这里插入图片描述,第12张

          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
          
          ##########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}]}]}
          ].
          

          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
          

          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
            

            修改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