欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RabbitMQ安装

程序员文章站 2022-07-12 12:49:27
...

一、安装erlang

1、从EPEL源安装

 启动EPEL源
yum install epel-release 
  安装erlang
yum install erlang

2、源码安装
http://www.erlang.org/downloads

### 首先下载资源
wget http://erlang.org/download/otp_src_20.0.tar.gz

### 解压
tar -xzvf otp_src_20.0.tar.gz

### 安装依赖包
yum install -y make gcc gcc-c++ kernel-devel m4 unixODBC-devel openssl-devel ncurses-devel

### 设定安装位置
./configure --prefix=/usr/local/erlang --without-javac

### 安装
make && make install

### 添加环境变量
vi /etc/profile

#set erlang environment
export PATH=$PATH:/usr/local/erlang/bin

#set rabbitmq environment
export PATH=$PATH:/usr/rabbitmq/sbin

### 使之生效
source /etc/profile

测试是否成功
erl

二、安装RabbitMQ

1、rpm安装

导入签名
 rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
下载RabbitMQ安装包
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.11/rabbitmq-server-3.6.11-1.el7.noarch.rpm  
安装
yum install rabbitmq-server-3.6.11-1.el7.noarch.rpm
点背的话会出错。相应的搜索解决方法解决依赖
如:
Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
       Requires: libreadline.so.5()(64bit)
解决之道:
yum install socat

三、RabbitMQ配置文件

RabbitMQ的配置文档地址可以查看详细说明
配置文件放在/etc/rabbitmq目录
如果该目录时候没有需要新建rabbitmq.config和rabbitmq-env.conf
rabbitmq.config文件可以在你安装的目录复制过来,复制文件在:

/usr/share/doc/rabbitmq-server-3.6.11/rabbitmq.config.example

rabbitmq-env.conf中可以配置下消息存储的位置,日志存储的位置这些比较常用的设置
执行命令:

cp /usr/share/doc/rabbitmq-server-3.6.11/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
cd /etc/rabbitmq/
vi rabbitmq-env.conf
增加
RABBITMQ_MNESIA_BASE=/usr/local/rabbitmq-server/data
RABBITMQ_LOG_BASE=/usr/local/rabbitmq-server/log

这里需要注意的就是既然不使用默认目录了,那目标目录是需要权限的,于是可以执行命令给rabbitmq-server授权:

[[email protected] rabbitmq]# cd /usr/local/
[[email protected] local]# mkdir rabbitmq-server
[[email protected] local]# mkdir rabbitmq-server/data
[[email protected] local]# mkdir rabbitmq-server/log
[[email protected] local]# chmod -R 777 rabbitmq-server

rabbitmq.conf配置:

RabbitMQ平时使用默认配置即可,此处修改下hipe_compile的属性为true就算完事了!

{hipe_compile, true},去掉前面的%%,去掉 末尾上的,即可。
执行 rabbitmq-server install
启动RabbitMQ服务可以通过命令:rabbitmq-server start

添加rabbitmq到启动项可以通过命令:chkconfig rabbitmq-server on
      • hipe_compile描述:
  • 设置为真实的预编译RabbitMQ部分与HiPE,一个即时编译器为Erlang。这将以增加启动时间为代价增加服务器吞吐量。
    您可能会在启动时花费几分钟的时间来获得20-50%的性能。这些数字高度依赖于工作负载和硬件。

  • HiPE支持可能不会被编译到Erlang安装中。如果没有,则启用此选项将仅显示警告消息,正常情况下将启动启动。例如,Debian / Ubuntu用户需要安装erlang-base-hipe软件包。

  • 在某些平台上,HiPE完全不可用,特别是Windows。

  • HiPE在17.5之前的Erlang / OTP版本中已经出现了问题。对于HiPE,强烈推荐使用最近的Erlang / OTP版本。

  • 默认值:false

四、开启web管理

执行命令:

rabbitmq-plugins enable rabbitmq_management

开启防火墙:

firewall-cmd --add-port=4369/tcp --permanent
firewall-cmd --add-port=15672/tcp --permanent

五、RabbitMQ操作

chkconfig rabbitmq-server on  # 添加开机启动RabbitMQ服务
/sbin/service rabbitmq-server start # 启动服务
/sbin/service rabbitmq-server status  # 查看服务状态
/sbin/service rabbitmq-server stop   # 停止服务
或者
启动服务:systemctl start rabbitmq-server.service

设置开机启动:systemctl enable rabbitmq-server.service

停止开机启动:systemctl disable rabbitmq-server.service

重新启动服务:systemctl restart rabbitmq-server.service

查看服务当前状态:systemctl status rabbitmq-server.service

查看所有已启动服务:systemctl list-units --type=service
# 查看当前所有用户
rabbitmqctl list_users

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

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

# 添加新用户
rabbitmqctl add_user username password

# 设置用户tag
rabbitmqctl set_user_tags username administrator

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

# 查看用户的权限
rabbitmqctl list_user_permissions username