1.rabbitMQ简介

1.1、rabbitMQ的优点(适用范围)
1. 基于erlang语言开发具有高可用高并发的优点,适合集群服务器。
2. 健壮、稳定、易用、跨平台、支持多种语言、文档齐全。
3. 有消息确认机制和持久化机制,可靠性高。
4. 开源
其他MQ的优势:
1. Apache ActiveMQ曝光率最高,但是可能会丢消息。
2. ZeroMQ延迟很低、支持灵活拓扑,但是不支持消息持久化和崩溃恢复。

2.环境配置与安装

1、Erlang环境安装
RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。
从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包,我下载的版本是 otp_src_R14B03.tar.gz 。然后:

$ tar xvzf otp_src_R14B03.tar.gz
$ cd otp_src_R14B03
$ ./configure

编译后的输出 
如下图:

注:
可能会报错 configure: error: No curses library functions found
configure: error: /bin/sh '/home/liyixiang/erlang/configure' failed for erts

原因是缺少ncurses包

apt-cache search ncurses
apt-get install libncurses5-dev

然后重新执行

./configure

提示没有wxWidgets和fop、ssh、odbc、ssl,但是问题不大。继续:

make

然后:

sudo make install

配置erlang环境变量 
修改/etc/profile文件,增加下面的环境变量:(vim profile i插入 编辑完毕ESC退出 wq!强制修改)

#set erlang environment
export PATH=$PATH:/usr/erlang/bin:$PATH
source profile使得文件生效

下面是我的

RabbitMQ-Server安装

安装完Erlang,开始安装RabbitMQ-Server。安装方法有三种,这里笔者三者都试过了,就只有以下这个方法成功了。

直接使用:

apt-get  install rabbitmq-server

安装完成后会自动打开:

使用命令查看rabbitmq运行状态:

rabbitmqctl status

停止

rabbitmqctl stop

开启

rabbitmq-server start

3、rabbitmq web管理页面插件安装

输入以下命令

3、rabbitmq web管理页面插件安装输入以下命令

cd /usr/lib/rabbitmq/bin/
rabbitmq-plugins enable rabbitmq_management

这里笔者一直安装不成功。

如果安装成功打开浏览器,输入 http://[server-name]:15672/ 如 http://localhost:15672/ ,会要求输入用户名和密码,用默认的guest/guest即可(guest/guest用户只能从localhost地址登录,如果要配置远程登录,必须另创建用户)。
如果要从远程登录怎么做呢?处于安全考虑,guest这个默认的用户只能通过http://localhost:15672来登录,其他的IP无法直接用这个guest帐号。这里我们可以通过配置文件来实现从远程登录管理界面,只要编辑/etc/rabbitmq/rabbitmq.config文件(没有就新增),添加以下配置就可以了。

4、添加用户

vim /etc/rabbitmq/rabbitmq.config

然后添加

[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["asdf"]}]}
].

注意上面有个点号

现在添加了一个新授权用户asdf,可以远程使用这个用户名。记得要先用命令添加这个命令才行:

cd /usr/lib/rabbitmq/bin/

#用户名与密码

sudo rabbitmqctl add_user asdf 123456

用户设置为administrator才能远程访问

sudo rabbitmqctl set_user_tags asdf administrator
sudo rabbitmqctl set_permissions -p / asdf ".*" ".*" ".*"

其实也可以通过管理平台页面直接添加用户和密码等信息。如果还不能远程访问或远程登录检查是不是5672, 15672端口没有开放!!!!!!

5、开放端口

ufw allow 5672

最新文章

  1. 如何避免测试人员提交重复的Bug
  2. 20135316王剑桥 linux第五周课实验笔记
  3. React快速入门
  4. 解决git Push时请求username和password,而不是ssh-key验证
  5. Java项目中基于Hibernate分页总结
  6. ubuntu 安装openproj-1.4-2.noarch.rpm
  7. Zepto.js touch模块深入分析 解决手机点击事件
  8. python smtplib.SMTPDataError: (554
  9. docker-maven-plugin插件设置Docker的buildArgs
  10. 常用weblogic搜索关键字
  11. shell脚本学习-文件包含
  12. List接口:(介绍其下的两个实现类:ArrayList和LinkedList)
  13. 玩转FusionCharts:Y轴数字形式(如去掉K)
  14. Unity触发器有时失效的原因
  15. centos 卸载mysql
  16. sqlserver-表分区
  17. mysql学习------权限机制
  18. app.module.ts说明
  19. GIS平台结构设计
  20. maven build 添加到 META-INF 目录。

热门文章

  1. js21---单体(单例)模式
  2. 74.sscanf数据扫描
  3. QT常用代码之加载动态库和弹出对话框
  4. position记录
  5. java文件处理 之 读写TXT(比之c++,重置文件头,int转string)
  6. 1.namesapce用法
  7. python 的 reshape强制转换格式的用途
  8. Jenkins学习总结(1)——Jenkins详细安装与构建部署使用教程
  9. (转)Windows Server 2012 R2虚拟机自激活(AVMA)技术
  10. java.util.ConcurrentModificationException(如何避免ConcurrentModificationException)