rabbitMQ服务安装
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
最新文章
- 如何避免测试人员提交重复的Bug
- 20135316王剑桥 linux第五周课实验笔记
- React快速入门
- 解决git Push时请求username和password,而不是ssh-key验证
- Java项目中基于Hibernate分页总结
- ubuntu 安装openproj-1.4-2.noarch.rpm
- Zepto.js touch模块深入分析 解决手机点击事件
- python smtplib.SMTPDataError: (554
- docker-maven-plugin插件设置Docker的buildArgs
- 常用weblogic搜索关键字
- shell脚本学习-文件包含
- List接口:(介绍其下的两个实现类:ArrayList和LinkedList)
- 玩转FusionCharts:Y轴数字形式(如去掉K)
- Unity触发器有时失效的原因
- centos 卸载mysql
- sqlserver-表分区
- mysql学习------权限机制
- app.module.ts说明
- GIS平台结构设计
- maven build 添加到 META-INF 目录。
热门文章
- js21---单体(单例)模式
- 74.sscanf数据扫描
- QT常用代码之加载动态库和弹出对话框
- position记录
- java文件处理 之 读写TXT(比之c++,重置文件头,int转string)
- 1.namesapce用法
- python 的 reshape强制转换格式的用途
- Jenkins学习总结(1)——Jenkins详细安装与构建部署使用教程
- (转)Windows Server 2012 R2虚拟机自激活(AVMA)技术
- java.util.ConcurrentModificationException(如何避免ConcurrentModificationException)