RabbitMQ 消息队列 安装及使用

RabbitMQ 消息队列安装:

  linux版本:CentOS 7

安装第一步:先关闭防火墙

1、Centos7.x关闭防火墙

[root@rabbitmq /]# systemctl stop firewalld.service

[root@rabbitmq /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

如果不想关闭防火墙,可以通过如下方法处理:

开放5672端口:

firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload

第二步:安装Erlang

  由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。

Erlang的安装方式大概有两种:

1)从Erlang Solution安装(推荐)

# 添加erlang solutions源
$ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
$ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

$ sudo yum install erlang

 

2)从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)

# 启动EPEL源
$ sudo yum install epel-release 
# 安装erlang
$ sudo yum install erlang

安装第三步:安装RabbitMQ

$ sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
$ wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm # 下载RabbitMQ安装包
$ sudo yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

  注意:安装时如果遇到下面的依赖错误

Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
Requires: libreadline.so.5()(64bit)

可以尝试先执行:$ sudo yum install socat

  至此,如果没有报错的话,RabbitMQ已经安装成功!此时我们需要测试RabbitMQ是否可以正常使用。

测试:

1、开启服务及查看工作状态

$ rabbitmq-server #启动RabbitMQ队列
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务 $ sudo /sbin/service rabbitmq-server start # 启动服务 $ sudo /sbin/service rabbitmq-server status # 查看服务状态 $ sudo /sbin/service rabbitmq-server stop # 停止服务
$ netstat -tulnp |grep rabbitmq #查看默认启用的端口号,5672

2、关于RabbitMQ的一些基本操作

# 查看当前所有用户
$ sudo rabbitmqctl list_users

$ rabbitmqctl list_queues #查看当前的消息队列列表
# 查看默认guest用户的权限 $ sudo rabbitmqctl list_user_permissions guest # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户 $ sudo rabbitmqctl delete_user guest # 添加新用户 $ sudo rabbitmqctl add_user username password # 设置用户tag $ sudo rabbitmqctl set_user_tags username administrator # 赋予用户默认vhost的全部操作权限 $ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 查看用户的权限 $ sudo rabbitmqctl list_user_permissions username 更多关于rabbitmqctl的使用,可以参考帮助手册

3、开启web管理接口

  如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。

$ sudo rabbitmq-plugins enable rabbitmq_management
然后通过浏览器访问

  http://localhost:5672

输入用户名和密码访问web管理界面了。

4、配置RabbitMQ

  关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
  关于每个配置项的具体作用,可以参考官方文档
  更新配置后,别忘了重启服务哦!

5、开启用户远程访问

  默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:

  {loopback_users, []}

  另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。

{loopback_users, ["admin"]}

更新配置后,别忘了重启服务哦!

posted @ 2017-08-25 17:36  细雨蓝枫  阅读(514)  评论(0编辑  收藏  举报