logo头像
Snippet 博客主题

安装 RabbitMQ

CentOS 安装 RabbitMQ

  • 使用yum命令安装需要安装第三方的源
1
2
yum install epel-release
# 安装第三方源
  • 开始安装RabbitMQ
  • 第一步需要安装erlang

erlang 是安装RabbitMQ的必须品

RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器

Erlang 的介绍

Erlang是一门动态类型的函数式编程语言,它也是一门解释型语言,由Erlang虚拟机解释执行。从语言模型上说,Erlang是基于Actor模型的实现。在Actor模型里面,万物皆Actor,每个Actor都封装着内部状态,Actor相互之间只能通过消息传递这一种方式来进行通信。对应到Erlang里,每个Actor对应着一个Erlang进程,进程之间通过消息传递进行通信。相比共享内存,进程间通过消息传递来通信带来的直接好处就是消除了直接的锁开销(不考虑Erlang虚拟机底层实现中的锁应用),那么消息传递有没有开销?有,但是基本可以忽略,消息传递在单机上的本质就是内存复制,要知道DDR3 SDRAM的内存带宽约为16GB/s。

详细介绍:参考原文

1
2
3
4
5
# 通过yum install Erlang
yum install erlang

# 输入erlang -v 查看是否安装成功
erlang -v
  • 然后安装RabbitMQ
1
2
3
4
5
# 下载RabbitMQ rpm的源
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm

# 使用yum安装
yum -y install rabbitmq-server-3.6.6-1.el6.noarch.rp
  • RabbitMQ 目录结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# RabbitMQ 命令目录
/usr/lib/rabbitmq/bin

# 命令介绍
# 用于管理RabbitMQ代理的命令行
rabbitmqctl

# shell脚本,初始化关键的配置默认信息
rabbitmq-defaults

# shell脚本,设置运行环境各种默认配置
rabbitmq-env

# 插件管理
rabbitmq-plugins
开启某个插件: rabbitmq-plugins enable {插件名}
关闭某个插件: rabbitmq-plugins disable {插件名}
查看插件列表: rabbitmq-plugins list

# 服务启动命令
rabbitmq-server
启动: service rabbitmq-server start
停止: service rabbitmq-server stop
1
2
3
4
5
6
7
8
# RabbitMQ config文件路径
/etc/rabbitmq/rabbitmq.config

# 数据源
/var/lib/rabbitmq/mnesia/rabbit@VM_0_8_centos

# log
/var/log/rabbitmq/rabbit@VM_0_8_centos.log
  • 安装完成后使用命令启动

    1
    2
    3
    4
    5
    启动rabbitmq服务:

    前台运行:rabbitmq-server start (用户关闭连接后,自动结束进程)

    后台运行:rabbitmq-server -detached
  • RabbitMQ 提供可视化界面

1
2
3
4
5
6
7
8
# 通过rabbitmq-plugins安装插件
rabbitmq-plugins enable rabbitmq_management

# 默认RabbitMQ用户guest 只能本地访问
# 添加用户,并且设置权限
rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"

最后使用浏览器访问http://localhost:15672/

如果访问失败,请检查服务器的端口是否开放

Fork me on GitHub