本文以AWS EC2的AWS Linux2为例做部署记录,也适用于Centos操作系统
以root权限登录AWS EC2,执行以下命令
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel glibc-devel xmlto perl wget socat
执行完毕,开始下载并安装erlang包
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.4-1.el7.x86_64.rpm/download.rpm
rpm -ivh erlang-23.3.4.4-1.el7.x86_64.rpm
验证erl版本(可选操作)
erl -version
erlang安装完毕,开始下载并安装rabbitmq
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.17-1.el7.noarch.rpm/download.rpm
rpm -ivh rabbitmq-server-3.8.17-1.el7.noarch.rpm
安装控制台插件
rabbitmq-plugins enable rabbitmq_management
初始化控制台用户权限
#创建用户
rabbitmqctl add_user admin admin
#修改用户角色为管理员
rabbitmqctl set_user_tags admin administrator
#添加权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
开放端口(一种直接在服务执行命令操作,一种在EC2的控制面板进行添加安全组入站策略,二选一即可)
1、直接在服务执行命令操作
#查看已经开放的端口
firewall-cmd --list-ports
#开放指定端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
#重启防火墙
firewall-cmd --reload
2、在EC2的控制面板进行添加安全组入站策略
安全组策略截图
安装延迟队列插件(可选操作)
#找到rabbitmq安装目录
whereis rabbitmq
#在rabbitmq目录下的plugins目录执行
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.8.17/rabbitmq_delayed_message_exchange-3.8.17.8f537ac.ez
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
启动rabbitmq
systemctl start rabbitmq-server
查看rabbitmq状态
systemctl status rabbitmq-server
日志显示绿色的active代表启动正常,rabbitmq服务到这里就已经部署完成了
设置开机自启
systemctl enable rabbitmq-server
日常维护会用到的命令
#重启
systemctl restart rabbitmq-server
#停止
systemctl stop rabbitmq-server
部署期间日志报了unable to perform an operation on node ‘rabbit@xxx’ 的问题,在hosts文件里配置了127.0.0.1和xxx的映射,以及主机内网IP和xxx的映射。如果127.0.0.1已经在hosts文件有配置,在已经配置记录的结尾加下xxx就行。
配置完成后,问题得到解决。