一 Erlang安装
1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境.
从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包
从源码编译安装Erlang,有两个库或工具是必须的:
一是完整的GCC编译器环境,二是Ncurses开发库
2.然后解压下载的gz包 tar -zxvf *.tar.gz
3.cd 进入解压出来的文件夹
4.执行./configure –prefix=/opt/erlang 就会开始编译安装,会编译到 /opt/erlang 下
安装遇到报错:No curses library functions found
5. 需要安装ncurses: yum install ncurses-devel
安装ncurses后继续执行./configure –prefix=/opt/erlang
6.执行make && make install
7.安装成功,cd /opt/erlang/bin 进如/opt/erlang/bin目录
8.执行erl看是否能打开eshell,用“halt().”退出,注意后面的点号,那是erlang的结束符
然后在配置Erlang环境变量vi /etc/profile文件,增加下面的2行环境变量:
#set erlang environment
export PATH=$PATH:/opt/erlang/bin
source /etc/profile使得文件生效
在安装Erlang过程中,可能会遇到以下问题,一般都是因为系统中缺少相应的包引起的,缺少什么包直接yum安装即可。
二,安装rabbitMq
1.安装依赖文件:
yum install xmlto
2.进入http://www.rabbitmq.com/download.html下载最新的安装包
进入/opt目录 cd /opt
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.3/rabbitmq-server-generic-unix-3.6.3.tar.xz
解压,先xz -d rabbitmq-server-generic-unix-3.6.3.tar.xz解压成rabbitmq-server-generic-unix-3.6.3.tar,然后tar xvf rabbitmq-server-generic-unix-3.6.3.tar解包
用mv命令重命名一下解压出来的文件夹,mv rabbitmq-server-generic-unix-3.6.3 rabbitmq 重命名为rabbitmq以便记忆
3.在配置rabbitmq环境变量,vi /etc/profile文件,增加下面的2行环境变量:
#set rabbitmq environment
export PATH=$PATH:/opt/rabbitmq/sbin
source /etc/profile使得文件生效
4.RabbitMQ服务启动关闭
启动服务:
cd sbin/
./rabbitmq-server -detached
查看服务状态:
./rabbitmqctl status
关闭服务:
./rabbitmqctl stop
5. 配置网页插件
首先创建目录,否则可能报错:
mkdir /etc/rabbitmq
然后启用插件:
./rabbitmq-plugins enable rabbitmq_management
配置linux 端口 15672 网页管理 5672 AMQP端口
然后访问http://localhost:15672即可
默认用户guest 密码guest
6. 远程访问配置
默认网页是不允许访问的,需要增加一个用户修改一下权限,代码如下:
添加用户:rabbitmqctl add_user user1 123456
添加权限:rabbitmqctl set_permissions -p “/” user1 “.*” “.*” “.*”
修改用户角色rabbitmqctl set_user_tags user1 administrator
然后就可以远程访问了,然后可直接配置用户权限等信息。
7. rabbitmq常用命令
add_user <UserName> <Password>
delete_user <UserName>
change_password <UserName> <NewPassword>
list_users
add_vhost <VHostPath>
delete_vhost <VHostPath>
list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
clear_permissions [-p <VHostPath>] <UserName>
list_permissions [-p <VHostPath>]
list_user_permissions <UserName>
list_queues [-p <VHostPath>] [<QueueInfoItem> …]
list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> …]
list_bindings [-p <VHostPath>]
list_connections [<ConnectionInfoItem> …]