简单说下个人的理解,mq就是一个消息代理,负责异步消息转发,可以很大程度缓解服务器压力,并且防止服务器宕机影响业务等。

安装:

环境:centos7

1).首先需要安装erlang

#wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
#可能会报错,如果报错则
# wget http://mirrors.sohu.com/fedora-epel/epel-release-latest-7.noarch.rpm
#rpm -ivh epel-release-latest-7.noarch.rpm
#rpm -ivh erlang-solutions-1.0-1.noarch.rpm
#yum install erlang
安装过程中会有提示,一路输入“y”即可。
检查:#erl 返回的是22
查看安装路径:whereis erlang

2).上述完成后安装RabbitMQ:
注意,注意,注意,erlang与rabbitmq两者的版本要求,这个是rabbitmq官网列出的版本对应:https://www.rabbitmq.com/which-erlang.html

看清erlang的版本再下载,否则不兼容,下面是我遇到的问题,反正一开始不懂,谷歌了好久才发下原因:
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
# rabbitmq-server start命令中的错误描述是no..忘了

开始正式安装,先下载rpm:

#wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm     (如果下载不了,取git上下载后,上传到centos)
下载完成后安装:
#yum install rabbitmq-server-3.7.15-1.el7.noarch.rpm
检验是否安装成功:
rabbitmq-server start &
返回,Active: active (running)代表成功运行了 查看运行的端口,5672为rabbitmq的端口
#netstat -telnet 开机自启:
#chkconfig rabbitmq-server on

配置文件:
  vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
  比如修改密码、配置等等,例如:loopback_users 中的 <<"guest">>,只保留guest
  服务启动和停止:
  启动 rabbitmq-server start &
  停止 rabbitmqctl stop_app

3).启动插件进行web访问管理页面:

#rabbitmq-plugins enable rabbitmq_management
然后通过浏览器访问
http://ip:15672(我是用vbox安装,所以本机是ip远程登录)
输入默认用户名(guest)和默认密码(guest)访问web管理界面了。
(如果是阿里云服务器的话,需要放开安全组,并放开端口,centos7: firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload)

这里有个问题,默认情况下,RabbitMQ的默认的guest用户只允许本机访问。如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可(或者改为自己的用户名即可),如下:

{loopback_users, [guest]}

当然新增用户admin也可以做到远程访问。要记得打上tag、赋予admin最高权限哦。

附上关于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 # 停止服务
# 查看当前所有用户
$ rabbitmqctl list_users
# 查看默认guest用户的权限
$ rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ rabbitmqctl delete_user guest
# 添加新用户
$ rabbitmqctl add_user username password
# 设置用户tag
$ rabbitmqctl set_user_tags username administrator
# 赋予用户默认vhost的全部操作权限
$ rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用户的权限
$ rabbitmqctl list_user_permissions username

最新文章

  1. Maven搭建SSH环境
  2. OC-copy
  3. java1.7集合源码阅读:LinkedList
  4. CommonJS 模块规范 1.1.1
  5. Yii2分页
  6. debug 64bit dump of a 32bit process in windows 7 64bit
  7. 如何在Exe和BPL插件中实现公共变量共享及窗口溶入技术Demo源码
  8. protocol buffer和当年corba ,和现在SOA有啥异同点
  9. java 防止sql注入的方法(非原创)
  10. QTabWiget Change Color 改变颜色(每个QWidget都有一个自己的调色板palette,设置它的颜色,然后setAutoFillBackground即可)
  11. CSS3属性之border-radius
  12. Java中的表达式运算
  13. python opencv SIFT,获取特征点的坐标位置
  14. Confluence 6 用自带的用户管理
  15. jenkins 启动slave时,找不到合适的java程序
  16. Transcranial magnetic stimulation (TMS)
  17. 【Luogu P4149】[IOI2011]Race(点分治)
  18. Java归去来第1集:手动给Eclipse配置Maven环境
  19. &lt;【彼得林奇 投资选股智慧全集】&gt;读书笔记
  20. Deep Residual Learning for Image Recognition这篇文章

热门文章

  1. supermap idesktop连接oraclesptial数据源
  2. shell根据系统当前的时间向用户输出问候信息
  3. canvas 绘制二次贝塞尔曲线
  4. 前端每日实战:69# 视频演示如何用纯 CSS 创作一个单元素抛盒子的 loader
  5. python之 matplotlib模块之基本三图形(直线,曲线,直方图,饼图)
  6. poj 3468: A Simple Problem with Integers (树状数组区间更新)
  7. 【leetcode】726. Number of Atoms
  8. httpClient连接工具类实测可用
  9. bzoj4397【Usaco2015 Dec】Breed Counting(前缀和、树状数组)
  10. JS中数据结构之队列