CentOS 7 搭建 RabbitMQ

版本:
RabbitMQ v3.8.0;官网:https://www.rabbitmq.com/
Erlang v21.3; 官网:https://www.erlang.org/

安装

# 设置 hostname
hostnamectl set-hostname node-1
hostname node-1 

# 关闭防火墙
systemctl stop firewalld
mkdir /data/tools -p 
cd /data/tools

yum -y install make gcc gcc-c++ kernel-devel openssl-devel ncurses-devel

# 下载 Erlang 源码
wget http://erlang.org/download/otp_src_21.3.tar.gz
tar zxvf otp_src_21.3.tar.gz 

cd otp_src_21.3
./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac

make && make install 

# 下载 rabbitmq 源码
cd /data/tools
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.8.0/rabbitmq-server-generic-unix-3.8.0.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.8.0.tar.xz 

mv rabbitmq_server-3.8.0 /usr/local/

# 添加环境变量配置
cat >> /etc/profile << -'EOF'
export PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq_server-3.8.0/sbin
-EOF

source /etc/profile

# 启动rabbitmq,-detached代表后台守护进程方式启动。
rabbitmq-server -detached

# 查看状态
rabbitmqctl status  

# 关闭服务:
rabbitmqctl stop 或 /usr/local/rabbitmq_server-3.8.0/sbin/rabbitmqctl stop

# 列出角色:
rabbitmqctl list_users

配置RabbitMQ监控插件及添加权限

rabbitmq-plugins enable rabbitmq_management

# 查看启动的插件 //[E*显示启动]   [e*隐式启动]
rabbitmq-plugins list     

# 默认情况下,访问RabbitMQ服务的用户名密码为"guest",这个账户有限制, 默认只能通过本地网络访问,远程访问受到限制,所以我们需要新添加一个用户,命令如下
# 添加用户,后面两个参数分别是用户名和密码
rabbitmqctl add_user admin 123456 

# 添加权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"  

# 修改用户角色
rabbitmqctl set_user_tags admin administrator  

然后就可以远程访问了,然后可直接配置用户权限等信息。 
登录:http://ip:15672 登录

# 修改监听端口
cd /usr/local/rabbitmq_server-3.8.0/etc/rabbitmq/

cat >> rabbitmq.conf << EOF
listeners.tcp.default = 28003
management.tcp.port = 28004
management.tcp.ip = 0.0.0.0
EOF

# 重启 rabbitmq 
rabbitmqctl stop
rabbitmq-server -detached

解决 rabbitmq 更改hostname 后无法使用 rabbitmqctl 命令的情况

# 添加一开始就存在的 hostname,若不知道,可以到下面文件夹查看
cd /usr/local/rabbitmq_server-3.8.0/var/lib/rabbitmq/mnesia

# 我测试环境的例子
ls 
rabbit@node-1   rabbit@node-1-feature_flags  rabbit@node-1-plugins-expand

# 添加rabbitmq固定节点名字,保证数据文件不变

vi /usr/local/rabbitmq_server-3.8.0/etc/rabbitmq/rabbitmq-env.conf 
NODENAME=rabbit@node-1

# 不需要重启 rabbitmq
posted @ 2020-11-24 10:03  klvchen  阅读(210)  评论(0编辑  收藏  举报