消息系统-rabbitmq3.6.6搭建部署

     RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

搭建环境:centos7机器

1、安装erlang

yum install -y erlang

2、下载安装rabbitmq

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
yum -y install rabbitmq-server-3.6.6-1.el7.noarch.rpm 

3、修改配置文件

cd /etc/rabbitmq
vim rabbitmq.config
// 添加以下内容--- 开放使用,默认创建的用户为 guest ,密码为 guest 默认为本机访问,要从外部访问需要加上此配置
[{rabbit, [{loopback_users, []}]}].

4、启动服务


service rabbitmq-server start #启动服务

service rabbitmq-server stop  #停止

service rabbitmq-server status #查看服务状态

5、增加用户

#查看用户列表
rabbitmqctl list_users    

#增加新用户
rabbitmqctl add_user root root123    

#把用户加入管理组
rabbitmqctl set_user_tags root administrator   

#开启各项权限
rabbitmqctl set_permissions -p / root '.*' '.*' '.*'    

消息系统-rabbitmq3.6.6搭建部署_第1张图片

 

6、开启web管理控制台:默认账号guest,密码guest,端口 15672

rabbitmq-plugins enable rabbitmq_management

消息系统-rabbitmq3.6.6搭建部署_第2张图片

 

二、rabbitmq集群

1、服务器IP 对应hots

1.1.1.1  note1

2.2.2.2  note2

2、和单机部署相同,部署完成后查看note1和note2的.erlang.cookie,2台服务器的.erlang.cookie都保持一致【因为RabbitMQ是用Erlang实现的,Erlang Cookie相当于不同节点之间相互通讯的秘钥,Erlang节点通过交换Erlang Cookie获得认证。】

# note1 note2 执行以下

yum install -y erlang

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
yum -y install rabbitmq-server-3.6.6-1.el7.noarch.rpm 

cd /etc/rabbitmq
echo '[{rabbit, [{loopback_users, []}]}].' >rabbitmq.config
 
systenctl start rabbitmq-server  
# web
rabbitmq-plugins enable rabbitmq_management
systenctl status rabbitmq-server 

#查看用户列表
rabbitmqctl list_users    
#增加新用户
rabbitmqctl add_user root rabbitmq123    
#把用户加入管理组
rabbitmqctl set_user_tags root administrator
#开启各项权限
rabbitmqctl set_permissions -p / root '.*' '.*' '.*'    

查看集群状态
rabbitmqctl cluster_status

# 只在note2 执行以下
1、【暂停rabbitmq,把note1的cookie复制粘贴到note2】
rabbitmqctl stop_app
echo 'ZTUEZFESFUVQXBRZANVH'>/var/lib/rabbitmq/.erlang.cookie
rabbitmqctl start_app
service rabbitmq-server status

2、把note2加入集群
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@note1
rabbitmqctl start_app
systemctl status rabbitmq-server
3、再次查看集群状态
rabbitmqctl cluster_status
Cluster status of node 'rabbit@note2' ...
[{nodes,[{disc,['rabbit@note1']},
         {ram,['rabbit@note2']}]},
 {running_nodes,['rabbit@note1',
                 'rabbit@note2']},
 {cluster_name,<<"rabbit@note1">>},
 {partitions,[]},
 {alarms,[{'rabbit@note1',[]},
          {'rabbit@note2',[]}]}]

打开web界面可以看到以下:

 

消息系统-rabbitmq3.6.6搭建部署_第3张图片

三、docker部署

docker run -d --restart=always --net=host --name rabbitmq \
-v /data/server/rabbitmq/data:/var/lib/rabbitmq  \
-v /data/logs/rabbitmq/log:/var/log/rabbitmq   \
-v /data/logs/rabbitmq/tmp:/var/tmp  \
-v /data/server/rabbitmq/conf:/etc/rabbitmq  \
-e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=rabbitmq123 \
rabbitmq:3.7.7-management

 

你可能感兴趣的:(消息系统mq)