安装 Erlang
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum 安装
yum install -y erlang
安装 RabbitMQ
下载资源包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-generic-unix-3.8.12.tar.xz
安装
tar xvf rabbitmq-server-generic-unix-3.8.12.tar.xz
mv rabbitmq_server-3.8.12/ rabbitmq
echo 'export PATH=/data/software/rabbitmq/sbin:$PATH'>> /etc/profile
source /etc/profile
which rabbitmqctl
修改配置
修改环境变量
修改环境变量的配置文件
vi /data/software/rabbitmq/etc/rabbitmq/rabbitmq-env.conf
配置文件内容
RABBITMQ_NODENAME=节点名称
RABBITMQ_NODE_IP_ADDRESS=IP地址
RABBITMQ_NODE_PORT=5672
RABBITMQ_MNESIA_BASE=/data/software/rabbitmq/data
RABBITMQ_LOG_BASE=/data/software/rabbitmq/logs
修改配置文件
编辑配置文件
mkdir -p /data/software/rabbitmq/data
mkdir -p /data/software/rabbitmq/logs
vi /data/software/rabbitmq/etc/rabbitmq/rabbitmq.config
内容如下
[
{rabbit,
[
{tcp_listeners, [5672]},
{dump_log_write_threshold, [1000]},
{vm_memory_high_watermark, 0.5},
{disk_free_limit, "200MB"},
{hipe_compile,true}
]
}
]
修改权限
useradd -u 1020 -s /sbin/nologin rabbitmq
chown -R rabbitmq:rabbitmq -R /data/software/rabbitmq
运行
启动
su -s /bin/bash - rabbitmq
nohup /data/software/rabbitmq/sbin/rabbitmq-server start &
安装插件
rabbitmq-plugins enable rabbitmq_management
创建用户并授权
rabbitmqctl add_user mqadmin "输入密码"
rabbitmqctl set_permissions -p / mqadmin . . .
rabbitmqctl set_user_tags mqadmin administrator
后台管理
通过域名访问 nginx 后台
找到 nginx 所在的安装目录,在 conf 目录下创建文件夹 vhosts,并在 nginx.conf 文件中添加下面一行配置
include /data/software/nginx/conf/vhosts/*.conf;
进入到 vhosts 目录,创建 mq 的 nginx 配置文件。
upstream rabbitmq {
server 目标服务器的IP:15672 max_fails=2 fail_timeout=1;
}
server {
listen 80;
server_name rabbitmq.xx.com;
charset utf-8;
access_log /data/software/nginx/logs/rabbitmq.xx.com.access.log main;
error_log /data/software/nginx/logs/rabbitmq.xx.com.error.log;
location / {
root html;
index index.html index.htm;
proxy_pass http://rabbitmq;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}