安装erlang
安装依赖环境
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
寻找合适的版本以及版本资源花费了很多时间。erlang资源(http://erlang.org/download/)
(1)下载资源包:
(2)解压:
tar -xvzf otp_src_20.0.tar.gz
(3)进入解压之后的文件配置: –prefix=/root/HuDis/HuDis_env/rabbitmq/erlang (软件预安装地址,自己设定)
./configure --prefix=/root/HuDis/HuDis_env/rabbitmq/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
(4)编译及安装:
make && make install
(5)在~目录下配置系统环境变量(即在文件~/.bash_profile 添加):
PATH=$PATH:/root/HuDis/HuDis_env/rabbitmq/erlang/bin
(6)在~目录下使~/.bash_profile 生效
source .bash_profile
(7)验证erlang安装成功:
输入:
erl
出现:
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [kernel-poll:false]
Eshell V9.0 (abort with ^G)
安装rabbitmq
(1)寻找资源(http://www.rabbitmq.com/news.html)
(2)将下载好的文件传送到linux主机上或者在linux主机直接使用命令:
(该命令是从GitHub上获取新资源,http://www.rabbitmq.com/releases/rabbitmq-server是旧的资源,也可以从这上面获取3.6.15之前的资源)
(3)解压下载的文件
xz -d rabbitmq-server-generic-unix-3.7.6.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.6.tar
(4)进入sbin文件,里面包含了rabbitmq启动,停止命令
cd rabbitmq_server-3.7.6/sbin
(5)启用web管理界面
./rabbitmq-plugins enable rabbitmq_management
(6)启动
./rabbitmq-server -detached
(7)添加用户
./rabbitmqctl add_user admin 123456
(8)设置权限
./rabbitmqctl set_user_tags admin administrator
(9)浏览器访问,在浏览器中输入:ip是指安装rabbitmq的主机ip
ip:15672
管理rabbitmq
1). 服务器启动与关闭
启动: rabbitmq-server –detached
关闭: rabbitmqctl stop
若单机有多个实例,则在rabbitmqctlh后加–n 指定名称
2). 插件管理
开启某个插件:rabbitmq-plugins enable xxx
关闭某个插件:rabbitmq-plugins disable xxx
注意:重启服务器后生效。
3).virtual_host管理
新建 virtual_host : rabbitmqctl add_vhost xxx
撤销 virtual_hos t: rabbitmqctl delete_vhost xxx
4). 用户管理
新建用户:rabbitmqctl add_user xxx pwd
删除用户: rabbitmqctl delete_user xxx
改密码: rabbimqctl change_password username newpassword
设置用户角色:rabbitmqctl set_user_tags username tag
Tag可以为 administrator,monitoring, management
5). 权限管理
权限设置:rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write}{read}
vhostpath Vhost路径
user用户名
conf一个正则表达式match哪些配置资源能够被该用户访问。
write 一个正则表达式match哪些配置资源能够被该用户读。
read 一个正则表达式match哪些配置资源能够被该用户访问。
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
6). 获取服务器状态信息
服务器状态:rabbitmqctl status
队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]
Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,
messages_unacknowledged,messages,consumers,memory
Exchange信息:rabbitmqctl list_exchanges[-p vhostpath] [exchangeinfoitem ...]
Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.
Binding信息:rabbitmqctl list_bindings[-p vhostpath] [bindinginfoitem ...]
Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments
Connection信息:rabbitmqctl list_connections [connectioninfoitem ...]
Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。
Channel信息:rabbitmqctl list_channels [channelinfoitem ...]
Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked
7).常用命令:
查看所有队列信息
rabbitmqctl list_queues
关闭应用
rabbitmqctl stop_app
启动应用,和上述关闭命令配合使用,达到清空队列的目的
rabbitmqctl start_app
清除所有队列
rabbitmqctl reset