一、安装erlang
rabbitmq是erlang语言编写的,安装rabbitmq之前,需要先安装erlang,这里用erlang的源码进行安装,erlang安装包官网下载地址:http://erlang.org/download/
1、下载安装包(otp_src_19.3.tar.gz)然后上传至Linux服务器
2、定位到安装包所在目录,并解压。
cd /home/root
tar -zxvf otp_src_19.3.tar.gz
3、安装必要的环境(在编译之前,必须安装以下依赖包)
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
4、编译并安装
cd otp_src_19.3
./configure --prefix=/home/root/erlang
make && make install
成功安装后,erlang目录下会出现lib和bin子目录
5、配置环境变量
vim /etc/profile
######### 添加如下内容 ###############
PATH=$PATH:/home/root/erlang/bin
########################################
source /etc/profile #重新加载配置文件
6、验证erlang是否成功安装
输入erl,得到如下图所示界面:
输入 halt(). 退出erlang界面
二、安装rabbitmq
安装之前,需要去官网查看一下rabbitmq版本对erlang版本的一个支持情况,官网地址:http://www.rabbitmq.com/which-erlang.html
1、下载rabbitmq安装包(rabbitmq-server-generic-unix-3.7.5.tar.xz),然后上传至Linux服务器
2、定位到安装包所在目录,并解压。
cd /home/root
tar -xvf rabbitmq-server-generic-unix-3.7.5.tar.xz
3、配置环境变量
- vim /etc/profile
- ######### 添加如下内容 ###############
- PATH=$PATH:/home/root/rabbitmq_server-3.7.5/sbin
- ########################################
- source /etc/profile #重新加载配置文件
- #添加web管理插件
- rabbitmq-plugins enable rabbitmq_management
4、添加配置文件
默认rabbitmq是没有配置文件的,需要去官方github上,复制一个配置文件模版过来,将配置文件复制到 /home/root/rabbitmq_server-3.7.5/etc/rabbitmq/ 下,更改文件名称为 rabbitmq.conf
github地址:https://github.com/rabbitmq/rabbitmq-server/tree/master/docs
5、启动rabbitmq服务
# 后台启动rabbitmq服务 rabbitmq-server detached rabbitmqctl status ##查看下状态
启动时若出现以下情况:
在rabbitmq安装位置下的/etc/rabbitmq 新建文件 rabbitmq-env.conf
在rabbitmq-env.conf文件中添加一行内容:
NODENAME=rabbit@localhost
保存并启动
6、开放端口
rabbitmq默认的端口是5672,管理界面默认端口是15672
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload #重启防火墙
此时就可以通过 ip:15672去访问管理界面,默认的账号密码都是guest,但是这个用户只能用localhost地址去访问,所以我们需要添加用户(或修改rabbitmq.conf取消访问限制)
7、添加用户
cd /home/root/rabbitmq_server-3.7.5/sbin
./rabbitmqctl add_user admin 123456 #创建用户
./rabbitmqctl set_user_tags admin administrator #赋予管理员权限
8、修改rabbitmq.conf取消访问限制
rabbitmq.conf中,loopback_users这个项就是控制访问的,如果只是取消guest用户的话,
只需设置loopback_users.guest = false 即可。
通过http://ip:15672访问管理界面
三、设置rabbitmq开机自启动
1、在/etc/init.d 目录下新建一个 脚本文件rabbitmq
vim rabbitmq
脚本文件内容如下:
#!/bin/bash
#RabbitMQ安装目录
RABBITMQ_HOME=/home/root/rabbitmq_server-3.7.5
export RABBITMQ_HOME
case "$1" in
start)
echo "Starting RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmq-server
;;
stop)
echo "Stopping RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmqctl stop
;;
status)
echo "Status RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmqctl status
;;
restart)
echo "Restarting RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmq-server
;;
*)
echo "Usage: $prog {start|stop|status|restart}"
;;
esac
exit 0
2、赋予脚本文件可执行权限
chmod 777 rabbitmq
3.、添加rabbitmq服务到系统服务中
chkconfig --add rabbitmq
4、设置自启动
chkconfig rabbitmq on
5、查看自启动项是否设置成功
chkconfig --list rabbitmq
四、rabbitmq常用命令
查看状态:
sudo rabbitmqctl status停止rabbitmq:
sudo rabbitmqctl stop启动:
sudo rabbitmq-server detached
插件管理:
插件列表: rabbitmq-plugins list
启动插件: rabbitmq-plugins enable XXX (XXX为插件名)
停用插件: rabbitmq-plugins disable XXX
用户管理:
添加用户: rabbitmqctl add_user username password
删除用户: rabbitmqctl delete_user username
修改密码: rabbitmqctl change_password username newpassword
设置用户角色: rabbitmqctl set_user_tags username tag
列出用户: rabbitmqctl list_users
权限管理:
列出所有用户权限: rabbitmqctl list_permissions
查看制定用户权限: rabbitmqctl list_user_permissions username
清除用户权限: rabbitmqctl clear_permissions [-p vhostpath] username
设置用户权限: rabbitmqctl set_permissions [-p vhostpath] username conf write read
conf: 一个正则匹配哪些资源能被该用户访问
write:一个正则匹配哪些资源能被该用户写入
read:一个正则匹配哪些资源能被该用户读取