如何在CentOS 7/CentOS 6上安装RabbitMQ
时间:2020-02-23 14:31:21 来源:igfitidea点击:
本指南将介绍在CentOS 7/CentOS 6服务器上安装RabbitMQ所需的步骤。
我的实验室基于我以前的指南,在Linux上将Vagrant与Libvirt一起使用。
RabbitMQ是实现AMQP(高级消息队列协议)的消息代理软件。
安装要求:
我更喜欢使用存储库来安装Rabbitmq服务器和Erlang,而不是使用rpm软件包,这往往会带来软件包依赖性问题并不得不手动更新软件包。
设置主机名
我们可以从配置服务器的主机名开始。
在CentOS 6上设置服务器主机名:
$cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=mq-01.example.com
进行更改后,重新启动网络服务。
sudo /etc/init.d/network restart
然后确认当前的主机名设置:
$hostname mq-01.example.com
要临时设置当前shell会话的主机名,请使用:
sudo hostname mq-01.example.com
在CentOS 7上设置服务器主机名:
对于CentOS 7服务器,我们可以使用hostnamectl命令轻松设置服务器主机名。
sudo hostnamectl set-hostname mq-01.example.com --static
添加EPEL存储库:
使用yum命令将epel存储库添加到系统,如下所示:
sudo yum -y install epel-release
添加Erlang存储库并安装Erlang。
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm sudo yum install erlang
添加RabbitMQ存储库:
对于CentOS 7:
cat << EOF | sudo tee /etc/yum.repos.d/rabbitmq.repo [bintray-rabbitmq-server] name=bintray-rabbitmq-rpm baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1 EOF
对于CentOS 6:
cat << EOF | sudo tee /etc/yum.repos.d/rabbitmq.repo [bintray-rabbitmq-server] name=bintray-rabbitmq-rpm baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/6/ gpgcheck=0 repo_gpgcheck=0 enabled=1 EOF
安装rabbitmq-server软件包。
sudo yum -y install rabbitmq-server
启动并启用rabbitmq-server在启动时启动。
CentOS7:
sudo systemctl enable --now rabbitmq-server
CentOS 6:
sudo chkconfig rabbitmq-server on sudo chkconfig --list | grep rabbitmq sudo service rabbitmq-server start
要使用RabbitMQ,请首先添加用户。
默认情况下,只有来宾用户存在,并且他可以从本地主机连接。
$rabbitmqctl add_user admin NUaiMe0k Adding user "admin" ... $rabbitmqctl set_user_tags admin administrator $rabbitmqctl list_users Listing users ... admin [administrator] guest [administrator]
其他Rabbitmqctl管理命令是:
删除用户:
rabbitmqctl delete_user user
更改用户密码:
rabbitmqctl change_password user strongpassword
添加虚拟主机:
rabbitmqctl add_vhost /my_vhost
列出虚拟主机:
rabbitmqctl list_vhosts
删除虚拟主机:
rabbitmqctl delete_vhost /my_vhost
授予用户对vhost的权限:
rabbitmqctl set_permissions -p /my_vhost user ".*" ".*" ".*"
列出虚拟主机权限:
rabbitmqctl list_permissions -p /my_vhost
列出用户权限:
rabbitmqctl list_user_permissions user
删除用户权限:
rabbitmqctl clear_permissions -p /my_vhost user
启用RabbitMQ UI
我们可以启用管理插件以使用基于Web的界面来管理RabbitMQ。
--- For CentOS 7 -- $sudo rabbitmq-plugins enable rabbitmq_management $sudo systemctl restart rabbitmq-server --- For CentOS 6 -- $sudo service rabbitmq-server restart
配置防火墙
打开防火墙上的端口:
sudo firewall-cmd --add-port={4369/tcp,25672}/tcp --permanent
使用Iptables:
sudo iptables -A INPUT -p tcp -m tcp --dport 4369 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 25672 -j ACCEPT
访问RabbitMQ Admin Web控制台
从客户端访问" http://server:15672 /":我们将获得一个登录窗口,
使用用户名和之前创建的密码登录。