RabbitMQ服务器的搭建(Centos详细篇)

最近公司在用mqtt协议做推送,所以研究了下RabbitMq,据说这个可以支持百万级的并发量,查了一些资料,发现有的地方还是存在坑的,所以把这些坑列出来,以防后面的童鞋也踩这个坑。(主要针对刚接触Linux的小白来说,大神勿喷)
首先附上RabbitMq的官网:
http://www.rabbitmq.com/
不了解RabbitMq是什么东西的先自行了解一下。英语不错的同学还是推荐阅读英文资料,官方的文档比网络上文档更为准确。
我是用的阿里云的centos7.2的服务器搭建rabbitmq的服务器,然后用的是Xshell5,大家也可以在linux windows等系统搭建,此处不做描述!
进入正题:
1.先安装 Erlang
有 EPEL 源的情况(需要安装的内容较多,宽带要能跟上):

sudo yum install erlang
在github上还提供了另一种方式的安装,想了解的移步github搜索rabbitmq,我是用的第一种。
2.安装 RabbitMQ
首先安装下面这个要引入的依赖:
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

然后下载rabbit,注意这个wget命令是下载链接

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

我是linux小白,没仔细看linux命令就开始搞了,这个命令只是下载rabbitmq,并不进行安装,在xshell上通过ll命令查看,下载完成有一个rpm文件;

Paste_Image.png

然后用下面的命令进行安装:

yum install -y rabbitmq-server-3.6.5-1.noarch.rpm

启动服务:
----->先看下自己的主机名:hostname,比如我的主机名是:test;
----->先修改一下 host 文件:vim /etc/hosts,添加一行:127.0.0.1 test(必须这样做),这里顺便说一下vim的安装命令:

yum install vim-enhanced

注意:如果下面的命令执行失败,自己去检查一下是否安装成功rabbitmq
----->启动:service rabbitmq-server start,启动一般都比较慢,所以别急
----->停止:service rabbitmq-server stop
----->重启:service rabbitmq-server restart
---- >设置开机启动:chkconfig rabbitmq-server on

3.配置
查找默认配置位置:
find / -name "rabbitmq.config.example"
我这边搜索结果是:
/usr/share/doc/rabbitmq-server-3.6.5/rabbitmq.config.example
复制默认配置的结果
cp /usr/share/doc/rabbitmq-server-3.6.5/rabbitmq.config.example /etc/rabbitmq/
修改配置文件名:
cd /etc/rabbitmq ; mv rabbitmq.config.example rabbitmq.config
编辑配置文件,开启用户远程访问:
vim rabbitmq.config
在 64 行,默认有这样一句话:
%% {loopback_users, []},,注意,该语句最后有一个逗号,等下是要去掉的
我们需要改为:
{loopback_users, []}
开启 Web 界面管理:
rabbitmq-plugins enable rabbitmq_management
重启 RabbitMQ 服务:
service rabbitmq-server restart
开放防火墙端口:
sudo iptables -I INPUT -p tcp -m tcp --dport 15672 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp --dport 5672 -j ACCEPT
我看到网上有的资料是说接下来用这两句命令,
sudo service iptables save
sudo service iptables restart
我没有成功,然后我直接把防火墙关闭了,使用如下命令:
systemctl stop firewalld.service
systemctl disable firewalld.service
这个时候浏览器访问:
http://你的主机名:15672
这时候会调出来一个网页如下:

Paste_Image.png

这个时候我试了下guest帐号是不能登录的,然后使用如下命令添加一个账户:
增加用户admin,名字可以自己定义
rabbitmqctl add_user admin admin
设置admin用户的管理员权限
rabbitmqctl set_user_tags admin administrator
显示用户列表和权限
rabbitmqctl list_users

好了,到此结束。过几天可能会写一些mqtt推送的东西...有兴趣的童鞋欢迎一起探讨

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 103,703评论 13 125
  • 整体架构 部署步骤 基于 Docker 基本概念内存节点只保存状态到内存,例外情况是:持久的 queue 的内容将...
    Thomashan阅读 8,318评论 6 30
  • 一、Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Uni...
    软曼网阅读 6,355评论 2 12
  • RabbitMQ是实现了AMQP协议的消息队列框架,基于Erlang这个最正确的并发处理语言基础开发。支持消息持久...
    阿太哥阅读 1,409评论 0 0
  • Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNI...
    零一间阅读 1,581评论 0 13