RabbitMQ安装(rpm方式)

2,379 阅读2分钟

前言

前面写过一篇RabbitMQ安装及集群搭建,里面是压缩包方式安装的RabbitMQ,这篇文章来说说如何用rpm安装。

环境

操作系统    CentOS 7
Socat	   1.7.3.2
Erlang	   23.1
RabbitMQ   3.8.9

要自选版本的注意Erlang跟RabbitMQ的版本依赖,见依赖关系

下载安装

下载地址

Socat	   http://repo.iotti.biz/CentOS/7/x86_64/
Erlang	   https://www.erlang-solutions.com/resources/download.html
RabbitMQ   https://github.com/rabbitmq/rabbitmq-server/releases

下载

在 /usr/local/ 下建一个rabbitmq文件夹,用于存放。

cd /usr/local/rabbitmq/
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.1-1~centos~7_amd64.rpm
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el7.noarch.rpm

安装

RabbitMQ默认的安装路径是在 /var 下,最好是安装到自己的指定目录,但是本人linux略菜,弄了半天也没成功,就直接安装在了 /var 下面,然后更改了数据及日志的存放目录,具体操作在文末。

rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
rpm -ivh esl-erlang_23.1-1~centos~7_amd64.rpm
rpm -ivh rabbitmq-server-3.8.9-1.el7.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的一些基本操作

$ sudo chkconfig rabbitmq-server on  # 添加开机启动RabbitMQ服务
$ sudo rabbitmq-server start # 启动服务
$ sudo rabbitmq-server -detached # 后台启动
$ sudo rabbitmq-server status  # 查看服务状态
$ sudo rabbitmq-server stop   # 停止服务

# 查看当前所有用户
$ sudo rabbitmqctl list_users

# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest

# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest

# 添加新用户
$ sudo rabbitmqctl add_user username password

# 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator

# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

# 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username

修改配置

上面说了RabbitMQ默认的安装路径是在 /var 下

若在想把数据跟日志单独存放起来,在 /usr/local/rabbitmq/ 下新建两个文件夹mnesia和logs(这个位置看大家习惯随意),分别存放数据和日志。

权限修改

chmod -R 777 /usr/local/rabbitmq
chown -R rabbitmq:rabbitmq  /usr/local/rabbitmq/mnesia
chown -R rabbitmq:rabbitmq  /usr/local/rabbitmq/logs

编写配置文件

vim /etc/rabbitmq/rabbitmq-env.conf

增加如下两行内容

RABBITMQ_MNESIA_BASE=/usr/local/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/usr/local/rabbitmq/log

若想远程url访问

rabbitmq-plugins enable rabbitmq_management

这个默认端口是15672,若想修改这个端口

vim /etc/rabbitmq/rabbitmq.conf

添加下面内容

management.tcp.port = 15673

保存,重启rabbitmq服务

配置文件详解

Rabbitmq的配置文件有三个,位于/etc/rabbitmq/,这三个文件分别是:

1.enabled_plugins

设置允许的插件列表,该配置文档的格式为erlang的列表格式如
[rabbitmq_management,rabbitmq_visualiser].
看不懂~~~

2.rabbitmq.conf

设置rabbitmq的运行参数。
example: https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example

3.rabbitmq-env.conf

rabbitmq的环境参数配置
RABBITMQ_NODE_PORT  	端口设置,默认为5672
RABBITMQ_NODENAME   	节点名称,默认为rabbit
RABBITMQ_MNESIA_BASE	后端存储目录,默认为/var/lib/rabbitmq/mnesia
RABBITMQ_LOG_BASE 		日志目录,默认为/var/log/rabbitmq/

结语

心累...