Centos7安装RabbitMQ

本文详细介绍了在Centos7系统中安装RabbitMQ的过程,包括安装Erlang、Rabbitmq-server,以及处理防火墙设置、文件权限问题和用户权限配置。同时,提到了在遇到IO异常和权限问题时的解决方案,确保RabbitMQ能正常运行并允许远程访问。
摘要由CSDN通过智能技术生成
  • 安装erlang,强烈推荐64位版本Erlang,两种方式:

    • 1.下载文件安装:https://bintray.com/rabbitmq/rpm/erlang页面下载erlang-19.3.6.8-1.el7.centos.x86_64.rpm,将文件上传至Centos,在文件所在目录使用指令yum install -y erlang-19.3.6.8-1.el7.centos.x86_64.rpm安装erlang
    • 2.通过新建文件rabbitmq-erlang.repo安装erlang,引自https://github.com/rabbitmq/erlang-rpm
      
      # vi /etc/yum.repos.d/rabbitmq-erlang.repo
      
      [rabbitmq-erlang]
      name=rabbitmq-erlang
      baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
      gpgcheck=1
      gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
      repo_gpgcheck=0
      enabled=1
      
      # yum install -y erlang
      
  • 安装Rabbitmq-server

    • http://www.rabbitmq.com/install-rpm.html页面下载rabbitmq-server-3.7.4-1.el7.noarch.rpm,上传至Centos,在文件目录使用指令yum install -y rabbitmq-server-3.7.4-1.el7.noarch.rpm
  • 关闭防火墙或者添加外部访问端口5672和15672(用于页面管理访问)

    • centos7使用firewalld作为默认防火墙,centos6使用iptables
      • systemctl status firewalld.service 查看firewalld服务的状态
      • systemctl status iptables.service 查看iptables服务的状态
      • systemctl stop firewalld.service 停止firewalld
      • systemctl stop iptables.service 停止iptables
    • 防火墙开放端口
      • firewall-cmd --zone=public --add-port=5672/tcp --permanent 添加5672端口
      • firewall-cmd --zone=public --add-port=15672/tcp --permanent 添加15672端口
      • firewall-cmd --reload 重新载入
  • 文件权限错误问题 chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

  • 访问控制台

    1. web插件安装:rabbitmq-plugins enable rabbitmq_management
    2. 默认用户名和密码是guest/guest,但该用户只能用于本机访问,远程登陆会提示错误;解决方式vi /etc/rabbitmq/rabbitmq.conf 添加一行loopback_users=none,重启服务
  • 操作指令

    • 开机启动 systemctl enable rabbitmq-server.service
    • 开启服务 rabbitmq-server start
    • 后台运行服务 rabbitmq-server -detached
    • 关闭服务 rabbitmqctl stop
    • 创建用户 rabbitmqctl add_user admin admin
    • 赋予角色 rabbitmqctl set_user_tags admin administrator
    • 查看用户 rabbitmqctl list_users
问题
  • java.lang.IOException IO异常,详细信息为access to vhost '/' refused for user 'admin'
    • 权限问题,新建的用户不能访问默认的vhost,可以通过页面或者指令添加用户访问vhost的权限。页面->admin->点击name栏的用户名称->Set permission
  • java.util.concurrent.TimeoutException 开启连接时,RabbitMQ uses the host name to communicate with nodes.
    • rabbitmqctl status 查看nodename Status of node rabbit@AWorkSpace2
    • vi /etc/hosts 添加一行 127.0.0.1 localhost AWorkSpace2 AWorkSpace2.local
    • 错误的原因在于:This is especially important if your DHCP server gives you a host name starting with an IP address, (e.g., 23.10.112.31.comcast.net). In this case RabbitMQ will try to use rabbit@23: an illegal host name.
    • 参考:http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值