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  

 

posted @ 2018-03-13 15:19  剑域柳  阅读(279)  评论(0编辑  收藏  举报