CentOs7.3搭建RabbitMQ3.6单机多实例服务
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
AMQP,即Advanced message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
centos 7.x 关闭firewall
$ systemctl stop firewalld.service # 停止firewall
不想关闭防火墙,就开放15672端口,设置之后可以通过网页方式管理MQ
安装安装iptables防火墙
yum install iptables-services
添加配置
iptables -I INPUT -p tcp --dport 5672 -j ACCEPT iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
保存配置
service iptables save
重启
systemctl restart iptables.service
设置开机自启动
systemctl enable iptables.service
RabbitMQ 安装需要依赖 Erlang 环境
$ cd /usr/local/src $ wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm $ yum install erlang-19.0.4-1.el7.centos.x86_64.rpm -y
$ cd /usr/local/src $ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm $ yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm -y
启动服务
$ service rabbitmq-server start
服务状态
$ service rabbitmq-server status Redirecting to /bin/systemctl status rabbitmq-server.service ● rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled) Active: active (running) since 一 2018-03-05 21:42:10 CST; 15s ago Main PID: 2493 (beam.smp) Status: "Initialized" CGroup: /system.slice/rabbitmq-server.service ├─2493 /usr/lib64/erlang/erts-8.0.3/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K true -- -root /usr/lib64/erlang -progname erl -- -home /var/l... ├─2634 /usr/lib64/erlang/erts-8.0.3/bin/epmd -daemon ├─2750 erl_child_setup 1024 ├─2760 inet_gethost 4 └─2761 inet_gethost 4 3月 05 21:42:07 master01 rabbitmq-server[2493]: RabbitMQ 3.6.10. Copyright (C) 2007-2017 Pivotal Software, Inc. 3月 05 21:42:07 master01 rabbitmq-server[2493]: ## ## Licensed under the MPL. See http://www.rabbitmq.com/ 3月 05 21:42:07 master01 rabbitmq-server[2493]: ## ## 3月 05 21:42:07 master01 rabbitmq-server[2493]: ########## Logs: /var/log/rabbitmq/[emailprotected] 3月 05 21:42:07 master01 rabbitmq-server[2493]: ###### ## /var/log/rabbitmq/[emailprotected] 3月 05 21:42:07 master01 rabbitmq-server[2493]: ########## 3月 05 21:42:07 master01 rabbitmq-server[2493]: Starting broker... 3月 05 21:42:10 master01 rabbitmq-server[2493]: systemd unit for activation check: "rabbitmq-server.service" 3月 05 21:42:10 master01 systemd[1]: Started RabbitMQ broker. 3月 05 21:42:10 master01 rabbitmq-server[2493]: completed with 0 plugins.
查看日志
$ less /var/log/rabbitmq/rabbit@master01.log =INFO REPORT==== 5-Mar-2018::21:42:07 === Starting RabbitMQ 3.6.10 on Erlang 19.0.4 Copyright (C) 2007-2017 Pivotal Software, Inc. Licensed under the MPL. See http://www.rabbitmq.com/ =INFO REPORT==== 5-Mar-2018::21:42:07 === node : [emailprotected] home dir : /var/lib/rabbitmq config file(s) : /etc/rabbitmq/rabbitmq.config (not found) cookie hash : +9loSJmR5x/9GEguoed28A== log : /var/log/rabbitmq/[emailprotected] sasl log : /var/log/rabbitmq/[emailprotected] database dir : /var/lib/rabbitmq/mnesia/[emailprotected] =INFO REPORT==== 5-Mar-2018::21:42:09 === Memory limit set to 732MB of 1831MB total. =INFO REPORT==== 5-Mar-2018::21:42:09 === Enabling free disk space monitoring =INFO REPORT==== 5-Mar-2018::21:42:09 === Disk free limit set to 50MB =INFO REPORT==== 5-Mar-2018::21:42:09 === Limiting to approx 924 file handles (829 sockets) =INFO REPORT==== 5-Mar-2018::21:42:09 === FHC read buffering: OFF =INFO REPORT==== 5-Mar-2018::21:42:07 === Starting RabbitMQ 3.6.10 on Erlang 19.0.4 Copyright (C) 2007-2017 Pivotal Software, Inc. Licensed under the MPL. See http://www.rabbitmq.com/ =INFO REPORT==== 5-Mar-2018::21:42:07 === node : [emailprotected] home dir : /var/lib/rabbitmq config file(s) : /etc/rabbitmq/rabbitmq.config (not found) cookie hash : +9loSJmR5x/9GEguoed28A== log : /var/log/rabbitmq/[emailprotected] sasl log : /var/log/rabbitmq/[emailprotected] database dir : /var/lib/rabbitmq/mnesia/[emailprotected] =INFO REPORT==== 5-Mar-2018::21:42:09 === Memory limit set to 732MB of 1831MB total. =INFO REPORT==== 5-Mar-2018::21:42:09 === Enabling free disk space monitoring =INFO REPORT==== 5-Mar-2018::21:42:09 === Disk free limit set to 50MB =INFO REPORT==== 5-Mar-2018::21:42:09 === Limiting to approx 924 file handles (829 sockets) =INFO REPORT==== 5-Mar-2018::21:42:09 === FHC read buffering: OFF FHC write buffering: ON =INFO REPORT==== 5-Mar-2018::21:42:09 === Database directory at /var/lib/rabbitmq/mnesia/[emailprotected] is empty. Initialising from scratch... =INFO REPORT==== 5-Mar-2018::21:42:09 === Waiting for Mnesia tables for 30000 ms, 9 retries left =INFO REPORT==== 5-Mar-2018::21:42:09 === Waiting for Mnesia tables for 30000 ms, 9 retries left
这里显示的是没有找到配置文件,我们可以自己创建这个文件
config file(s) : /etc/rabbitmq/rabbitmq.config (not found)
创建rabbitmq.config
$ cd /etc/rabbitmq/ $ vim rabbitmq.config
[{rabbit, [{loopback_users, []}]}].
这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
$ service rabbitmq-server restart
$ /sbin/rabbitmq-plugins enable rabbitmq_management
$ service rabbitmq-server restart
通过 http://ip:15672 使用guest, guest 进行登陆了.