一、安装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授权:
[root@root rabbitmq]# cd /usr/local/
[root@root local]# mkdir rabbitmq-server
[root@root local]# mkdir rabbitmq-server/data
[root@root local]# mkdir rabbitmq-server/log
[root@root 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