1、安装erlang环境
RabbitMQ是由Erlang语言开发,所以MQ安装时必须要安装对应支持版本的Erlang
1、安装C语言编译环境
安装gcc(c)编译器使用命令:
yum -y install gcc
安装g++(c++)编译器使用命令:
yum -y install gcc-c++
2、安装ncurses-devel
yum install ncurses-devel
3、下载源文件并解压
wget http://erlang.org/download/otp_src_23.1.tar.gz
tar -zxvf otp_src_23.1.tar.gz
使用wget命令下载速度太慢,建议使用迅雷下载之后上传至linux主机。
4、进入otp_src_23.1目录进行安装
cd otp_src_23.1
./otp_build autoconf
./configure && make && make install
5、安装完成之后使用erl查看版本号
2、安装socat
yum install -y socat
3、安装RabbitMQ
rpm -Uvh https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el7.noarch.rpm --nodeps
如果网络慢,同样建议使用迅雷下载rpm包之后上传至linux主机
命令如下
rpm -Uvh rabbitmq-server-3.8.9-1.el7.noarch.rpm --nodeps
追加参数 —nodeps (不验证软件包依赖)
4、设置开机自启
systemctl enable rabbitmq-server
5、启动rabbitmq
systemctl start rabbitmq-server
6、查看服务状态
systemctl status rabbitmq-server
是active则代表启动成功
停止服务
systemctl stop rabbitmq-server
重启服务
systemctl restart rabbitmq-server
7、安装web插件
rabbitmq-plugins enable rabbitmq_management
安装插件之前需要先停止服务
8、在浏览器中输入地址进行访问
http://你的linux主机地址:15672
初始用户名和密码都是guest
如果访问不到,则需查看linux主机防火墙是否关闭
systemctl status firewalld.service
如果是active状态则需关闭防火墙或放通相应端口再进行访问
systemctl stop firewalld.service
也可以设置防火墙开机不再启动
systemctl enable firewalld.service
防火墙端口放通
####firewalld防火墙
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
####iptables防火墙
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
systemctl restart iptables
至此,安装部分已经全部完成,接下来是相关配置
9、用户配置
我们在登陆的时候会发现无法登陆,需要我们添加新用户
1、添加账户
创建账号
rabbitmqctl add_user admin admin
设置用户角色并设置权限(管理员权限)
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*'
设置完成之后可以使用吗,命令查看用户
rabbitmqctl list_users
查看某一用户的权限
rabbitmqctl list_user_permissions admin
完成之后使用刚才添加的用户跟密码登录
10、修改文件默认保存路径(选)
rabbitmq默认数据目录和日志路径
默认数据目录 /var/lib/rabbitmq/mnesia
日志路径 /var/log/rabbitmq/
配置文件路径 /etc/rabbitmq/
创建新的数据文件和日志文件目录并给权限
mkdir -p /usr/local/rabbitmq/log
mkdir -p /usr/local/rabbitmq/mnesia
chmod -R 755 /usr/local/rabbitmq
chown -R rabbitmq:rabbitmq /usr/local/rabbitmq
修改环境参数配置文件
vim /etc/rabbitmq/rabbitmq-env.conf
填入内容
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/data/rabbitmq/log
重启服务
11、rabbitmq常用命令
# 添加用户
rabbitmqctl add_user <username> <password>
# 删除用户
rabbitmqctl delete_user <username>
# 修改用户密码
rabbitmqctl change_password <username> <newpassword>
# 清除用户密码(该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证)
rabbitmqctl clear_password <username>
# 设置用户tags(相当于角色,包含administrator,monitoring,policymaker,management)
rabbitmqctl set_user_tags <username> <tag>
# 列出所有用户
rabbitmqctl list_users
# 创建一个vhosts
rabbitmqctl add_vhost <vhostpath>
# 删除一个vhosts
rabbitmqctl delete_vhost <vhostpath>
# 列出vhosts
rabbitmqctl list_vhosts [<vhostinfoitem> ...]
# 针对一个vhosts给用户赋予相关权限;
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 清除一个用户对vhosts的权限;
rabbitmqctl clear_permissions [-p <vhostpath>] <username>
# 列出哪些用户可以访问该vhosts;
rabbitmqctl list_permissions [-p <vhostpath>]
# 列出用户访问权限;
rabbitmqctl list_user_permissions <username>