前言
前面写过一篇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/
结语
心累...