Linux安装RabbitMQ服务
什么是RabbitMQ?
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
下载erlang包
RabbitMQ是用erlang分布式语言开发的,所以我们在安装RabbitMQ之前先安装erlang
erlang Tar包下载方式:https://www.erlang.org/downloads
该下载入口是跳转到GitHub,所以可能有点慢
下载RabbitMQ
下拉找到 Download the Server
连接Linux服务器
使用ROOT用户连接Linux服务器,并cd至usr/local,在local目录下使用以下命令新建erlang和rabbitmq文件夹
新建文件夹并赋权
cd /usr/local //cd至usr/local
ls //查看当前当前文件夹下文件
mkdir erlan //新建erlang文件夹
mkdir rabbitmq //新建rabbitmq文件夹
使用以下命令给文件夹授权
//给local赋予读写权限
chmod 777 local //运行命令后,local 文件夹(目录)的权限就被修改为777(可读可写可执行)。
//给local及其以下子目录赋予读写权限
chmod -R 777 local //其中 -R 需要是大写。 表示目录及目录下的所有内容都设置为相同的权限。
传输文件
赋权成功后,使用连接Linux服务器工具将下载好的包分别传输到erlang和rabbitmq目录下
安装erlang
传输完毕后,先安装erlang
进入/usr/local/erlang目录查看tar包是否存在,存在则使用如下命令解压tar包,解压完后会多一个目录
cd /usr/local/erlang //切换至erlang 目录
ls //查看当前目录下文件
tar -zxvf otp_src_22.2.tar.gz //解压tar包
安装erlang需要环境依赖
使用如下命令安装erlang需要的环境依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
环境安装完成后,进入解压文件对erlang进行安装环境的配置
cd /usr/local/erlang/otp_src_22.2
./configure --prefix=/usr/local/erlang --without-javac
完成后如下图所示
分别使用如下命令进行编译和安装
make
make install
编译安装结束后如下图所示
使用如下命令测试erlang是否安装成功
./bin/erl
//退出
halt().
使用如下命令修改系统环境变量
vim /etc/profile
进入配置文件后,按i开始编辑,在末尾处处加入如下代码:
#set erlang
export ERLANG_HOME=$PATH:/usr/local/erlang
export PATH=$ERLANG_HOME/bin:$PATH
添加配置完成后,先按Esc退出编辑,再按:,输入wq保存修改,修改配置文件后使用如下命令让配置文件生效:
source /etc/profile
使用如下命令测试是否成功
erl
halt().
安装RabbitMQ
erlang安装成功后,开始安装rabbitmq
先进入rabbitmq目录,找到rabbitmq-server-3.8.2-1.el8.noarch.rpm包,然后使用如下命令获取公共签名密钥并安装rabbitmq
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum install rabbitmq-server-3.8.2-1.el8.noarch.rpm
rpm -ivh --nodeps rabbitmq-server-3.8.2-1.el8.noarch.rpm
如报以上错误,则需使用如下命令安装依赖
yum -y install epel-release
yum -y install socat
以来安装成功后再次使用命令进行安装rabbitmq
启动rabbitMQ
安装成功后使用如下命令尝试启动rabbitmq
rabbitmq-server restart
启动成功
开启web管理界面
输入以下命令开启Wweb管理界面,否则浏览器无法访问
开启管理界面
rabbitmq-plugins enable rabbitmq_management
启动成功后,rabbitMQ的相关文件所在位置
1、相关命令 :/usr/lib/rabbitmq/bin/
2、相关的日志:/var/log/rabbitmq/
3、相关的配置 : /etc/rabbitmq/
4、 设置的用户权限等元数据信息:/var/lib/rabbitmq/mnesia/
rabbitMQ常用指令
如下是一些rabbitmq的简单命令
添加开机启动RabbitMQ服务
chkconfig rabbitmq-server on
启动RabbitMQ服务
rabbitmq-server start
后台启动RabbitMQ服务
rabbitmq-server -detached
停止RabbitMQ服务
rabbitmqctl stop
查看RabbitMQ服务状态
rabbitmqctl status
重启RabbitMQ服务
rabbitmq-server restart
开启管理界面
rabbitmq-plugins enable rabbitmq_management
关闭管理页面
rabbitmq-plugins disable rabbitmq_management
查看当前所有用户
rabbitmqctl list_users
添加帐号:name 密码:passwd
rabbitmqctl add_user name passwd
赋予其administrator角色
rabbitmqctl set_user_tags name administrator
删除角色
rabbitmqctl delete_user Username
设置权限
rabbitmqctl set_permissions -p / name ".*" ".*" ".*"
查看用户的权限
rabbitmqctl list_user_permissions username
添加新的用户并赋权
想要远程访问,需先添加新的用户,因为默认的用户guest不能支持远程访问
查看当前所有用户
rabbitmqctl list_users
添加帐号:name 密码:passwd
rabbitmqctl add_user name passwd
赋予其administrator角色
rabbitmqctl set_user_tags name administrator
删除角色
rabbitmqctl delete_user Username
设置权限
rabbitmqctl set_permissions -p / name ".*" ".*" ".*"
查看用户的权限
rabbitmqctl list_user_permissions username
添加新用户后,需使用如下命令开放防火墙15672和5672端口
开放防火墙和端口
//开启端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
//查询端口号15672或5672是否开启:
firewall-cmd --query-port=15672/tcp
//重启防火墙:
firewall-cmd --reload
//查询有哪些端口是开启的:
firewall-cmd --list-port
//禁用端口
firewall-cmd --zone=public --remove-port=15672/tcp --permanent
访问Web页面
开放端口后在浏览器地址栏输入http://ip:15672/尝试访问rabbitmq的web页面,如下图所示则成功,并使用新创建的用户访问