一、查看RabbitMQ Erlan版本要求
注意: 请下载对应版本的rabbitmq和erlang安装包,避免冲突。RabbitMQ Erlang版本要求如下图
官网地址:https://www.rabbitmq.com/which-erlang.html#erlang-repositories
二、下载rpm包
- 下载erlang rpm包
下载地址:https://dl.bintray.com/rabbitmq-erlang/rpm/erlang (可自行选择版本)。
- 下载rabbitmq rpm包
下载地址 : https://github.com/rabbitmq/rabbitmq-server/releases (可自行选择版本)。
- 下载socat rpm包
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm (执行命令下载)。
- 将下载好的rpm包导入linux系统
三、安装rabbitmq
rabbitmq依赖于erlang语言,erlang语言依赖于socat依赖包,需按照顺序安装。
- 安装socat
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
- 安装erlang
rpm -ivh erlang-22.3.4.11-1.el6.x86_64.rpm
- 安装rabbitmq
rpm -ivh rabbitmq-server-3.8.8-1.el6.noarch.rpm
如安装过程中出现错误:
error: Failed dependencies: libnsl.so.1()(64bit) is needed by erlang-22.3.4.11-1.el6.x86_64
缺少类库执行命令:dnf install libnsl
- 验证是否安装成功
rabbitmq-server
四、配置文件
旧版本的配置文件已经不支持新版本rabbitmq的配置文件,新版本不在提供配置文件模板,需自行在git下载,地址:https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example
配置文件位置:/etc/rabbitmq/rabbitmq.conf (新版本配置文件后缀也要求为.conf)
新版本格式:
# A new style format snippet. This format is used by rabbitmq.conf files.
ssl_options.cacertfile = /path/to/ca_certificate.pem
ssl_options.certfile = /path/to/server_certificate.pem
ssl_options.keyfile = /path/to/server_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = true
旧版本格式:
%% A classic format snippet, now used by advanced.config files.
[
{rabbit, [{ssl_options, [{cacertfile, "/path/to/ca_certificate.pem"},
{certfile, "/path/to/server_certificate.pem"},
{keyfile, "/path/to/server_key.pem"},
{verify, verify_peer},
{fail_if_no_peer_cert, true}]}]}
].
对于新安装rabbitmq的用户这里配置文件只需简单配置即可,配置如下:
这里可以使用默认的 loopback_users.guest = true
loopback_users = none
五、基本命令
- 应用方式启动
systemctl start rabbitmq-server 系统命令启动
- 关闭
systemctl stoprabbitmq-server
- 启动web控制台
rabbitmq-plugins enable rabbitmq_management (需先启动rabbitmq服务)
- 设置开机自动启动服务
chkconfig rabbitmq-server on
- 查看rabbitmq状态
systemctl status rabbitmq-server
- 查看rabbitmq端口
netstat -lnp |grep beam
- 重启rabbitmq服务
systemctl restart rabbitmq-server