RabbitMQ是实现了高级消息队列协议的开源消息代理软件,本文介绍如何在Linux实例上搭建并使用RabbitMQ。
RabbitMQ服务器是用Erlang语言编写的,支持 Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript等多种客户端,具有易用性、高扩展性和高可用性。
您已购买Linux实例。具体操作请参见购买云服务器。
您已为Linux实例绑定公网IP,使其具备访问公网的能力。如未绑定,请参见绑定公网IP。
实例关联安全组在入方向已放通TCP 80、5672、15672端口,源地址设置为0.0.0.0/0或待访问Linux实例的主机IP地址。
远程连接云服务器并登录,具体操作请参考登录Linux实例小节。
执行以下命令,安装Erlang所需依赖包。yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel
访问Erlang官网获取所需版本的Erlang下载路径,本文以24.1为例。执行以下命令,下载Erlang安装包。wget http://erlang.org/download/otp_src_24.1.tar.gz
执行以下命令,解压Erlang安装包。tar -zxvf otp_src_24.1.tar.gz
执行以下命令,进入Erlang路径,创建文件夹/usr/local/erlang
。
cd otp_src_24.1 mkdir /usr/local/erlang
执行以下命令,编译并安装Erlang。
./configure --prefix=/usr/local/erlang make && make install
执行以下命令,为Erlang配置环境变量,并使环境变量生效。
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile source /etc/profile
执行以下命令,返回root目录,并确认Erlang是否安装成功。
cd erl -version
回显如下,表示Erlang安装成功。Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 12.1
访问RabbitMQ Erlang Version Requirements确定RabbitMQ与Erlang的匹配版本,选择符合要求的RabbitMQ版本,本文以3.9.7版本为例。
访问RabbitMQ版本官网,获取安装包下载链接。
执行以下命令,下载RabbitMQ安装包。wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.7/rabbitmq-server-generic-unix-3.9.7.tar.xz
执行以下命令,解压RabbitMQ安装包。tar -xvf rabbitmq-server-generic-unix-3.9.7.tar.xz
执行以下命令,为RabbitMQ配置环境变量,并使环境变量生效。
echo 'export PATH=$PATH:/root/rabbitmq_server-3.9.7/sbin' >> /etc/profile source /etc/profile
执行以下命令,在后台启动RabbitMQ。
说明: 本操作仅支持在运行的操作系统中启动RabbitMQ,即实例重启后RabbitMQ不会自动启动。
rabbitmq-server -detached
执行以下命令,启动RabbitMQ的Web管理页面。rabbitmq-plugins enable rabbitmq_management
在本地浏览器中输入http://<ECS实例公网IP地址>:15672
访问RabbitMQ
回显如下,表示RabbitMQ搭建成功。
执行以下命令,删除RabbtiMQ默认账户guest。rabbitmqctl delete_user guest
执行以下命令,创建一个新用户。rabbitmqctl add_user 用户名 密码
执行以下命令,将新用户设置为管理员。rabbitmqctl set_user_tags 用户名 administrator
执行以下命令,赋予管理员所有权限。rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
在本地浏览器中输入http://<ECS实例公网IP地址>:15672
访问RabbitMQ,并使用用户名和密码登录,即可进入RabbitMQ管理页面。