
安装rabbitmq之前,需要安装erlang,本文均使用rpm文件进行安装,rabbitmq的版本是3.8.30,erlang的版本是23.2.7。
附erlang和rabbitmq安装包:https://www.aliyundrive.com/s/W2YJmV6NBrA(阿里云盘)
也可去官网进行下载
erlang:https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.2.7-2.el7.x86_64.rpm
rabbitmq:https://github.com/rabbitmq/rabbitmq-server/releases?page=3
el7表示是适用于centos7操作系统。
erlang和rabbitmq版本对照:https://www.rabbitmq.com/which-erlang.html#eol-series
将erlang安装包上传至服务器,下面以/root/rabbitmq为例,上传成功之后执行安装
cd /root/rabbitmq yum localinstall erlang-23.2.7-2.el7.x86_64.rpm #本地安装erlang erl -v #查看erlang版本,确认安装成功2 安装rabbitmq
cd /root/rabbitmq yum localinstall rabbitmq-server-3.8.30-1.el7.noarch.rpm #本地安装rabbitmq3 启动rabbitmq
# 启动rabbitmq systemctl start rabbitmq-server # 查看rabbitmq状态 systemctl status rabbitmq-server # 设置rabbitmq服务开机自启动 systemctl enable rabbitmq-server # 关闭rabbitmq服务 systemctl stop rabbitmq-server # 重启rabbitmq服务 systemctl restart rabbitmq-server
启动成功如下图所示:
默认情况下,rabbitmq没有安装web端的客户端软件,需要安装才可以生效
# 打开rabbitmq管理界面插件 rabbitmq-plugins enable rabbitmq_management
然后使用服务器ip:15672就可以打开web管理页面
rabbitmq有一个默认的账号密码guest,但该情况仅限于本机localhost进行访问,所以需要添加一个远程登录的用户
# 添加用户 rabbitmqctl add_user 用户名 密码 # 设置用户角色,分配操作权限 rabbitmqctl set_user_tags 用户名 角色 # 为用户添加资源权限(授予访问虚拟机根节点的所有权限) rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
角色有四种:
administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
monToring:监控者;登录控制台,查看所有信息
policymaker:策略制定者;登录控制台指定策略
managment:普通管理员;登录控制
其他操作命令:
# 修改密码 rabbitmqctl change_ password 用户名 新密码 # 删除用户 rabbitmqctl delete_user 用户名 # 查看用户清单 rabbitmqctl list_users5 修改默认端口 5.1 Linux系统rabbitmq是默认安装,那么默认安装位置一般是: /usr/lib/rabbitmq , 可执行命令查找安装位置: whereis rabbitmq 5.2 新增配置文件 (在/etc/rabbitmq路径下创建rabbitmq.conf文件)
vim /etc/rabbitmq/rabbitmq.conf
文件内容如下:
#默认client端口为5672 listeners.tcp.default=5673 #默认界面管理端口为15672 management.tcp.port=156735.3 修改rabbitmq-defaults文件,添加配置文件路径
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.30/sbin/ #编辑rabbitmq-defaults文件 vim rabbitmq-defaults #添加配置路径到文件中,保存退出 CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf
重启rabbitmq
systemctl restart rabbitmq-server
如果失败则检查配置文件是否有错误执行提示中的命令: journalctl -xe 可查看失败原因
附:centos防火墙开放端口命令:
systemctl status firewalld #查看防火墙状态 systemctl start firewalld #开启防火墙 systemctl stop firewalld #关闭防火墙 service firewalld start #开启防火墙 若遇到无法开启 先用:systemctl unmask firewalld.service 然后:systemctl start firewalld.service netstat -ntulp #查询开放的所有端口 netstat -ntulp | grep 8080 #查询8080端口是否开放 firewall-cmd --query-port=6379/tcp #查看6379端口是否已开 firewall-cmd --add-port=123/tcp --permanent #添加指定需要开放的端口123 firewall-cmd --query-port=123/tcp #查询指定端口123是否开启成功 firewall-cmd --permanent --remove-port=123/tcp #移除指定端口123 firewall-cmd --reload #重载入添加的端口