Linux进阶Ubuntu 16.04安装Rabbitmq

Posted 滕哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux进阶Ubuntu 16.04安装Rabbitmq相关的知识,希望对你有一定的参考价值。

在阅读这篇文章之前,你应该是对Rabbitmq有一定了解的

环境搭建

  1. Ubuntu 16.04 LTS
  2. Erlang 18.3
  3. Rabbitmq 3.6.15

准备

我们选择/usr/local作为工作路径

mkdir /usr/local/rabbitmq
cd /usr/local/rabbitmq

更新

apt-get update

安装

安装Erlang

// 添加APT密钥
wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
apt-key add erlang_solutions.asc
// 不添加证书有可能会出现校验不通过
apt-get update
apt-get install erlang
apt-get install erlang-nox

安装RabbitMQ

添加RabbitMQ仓库源

vim /etc/apt/sources.list
// 在文件最后添加以下行
deb http://www.rabbitmq.com/debian/ testing main

// 添加APT密钥
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
apt-key add rabbitmq-signing-key-public.asc

安装RabbitMQ

apt-get update
apt-get install rabbitmq-server

启动

// 启动rabbitmq
service rabbitmq-server start
// 查看状态
service rabbitmq-server status


这里看到 Active:active(running) 就是启动成功了。

当然也有可能会启动失败,如下图

失败的原因可能是多样的,终端提示 Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

可以通过命令 journalctl -xe 查看详情:

这里看到 * unable to connect to epmd (port 4369) on iZbp14r0c*****1guvr6yZ: timeout (timed out) 提示连接不上epmd,我们通过telnet命令发现确实连接不上4369端口但是127.0.0.1可以连通,那么直接改hosts文件就OK了

vi /etc/hosts
127.0.0.1   localhost iZbp14r0c*****1guvr6yZ

然后重启解决问题。

维护

启用rabbitmq-management插件

rabbitmq-plugins enable rabbitmq_management

重启即可

添加新用户

默认情况下为了安全,guest用户只能用过localhost登陆。这时我们可以重新创建一个用户,指派为管理员就可以了。

rabbitmqctl  add_user  Username  Password
rabbitmqctl  set_user_tags  User  Tag
// Tag: administrator,monitoring,policymaker,management,或其他自定义名称

rabbitmq常用命令

chkconfig rabbitmq-server on  #添加开机启动(chkconfig一般只有redhat系统有)RabbitMQ服务
service rabbitmq-server start  # 启动服务
service rabbitmq-server status  # 查看服务状态
service rabbitmq-server stop   # 停止服务

rabbitmqctl stop   # 停止服务
rabbitmqctl status  # 查看服务状态
rabbitmqctl list_users # 查看当前所有用户
rabbitmqctl list_user_permissions guest # 查看默认guest用户的权限
rabbitmqctl delete_user guest# 删掉默认用户(由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 可以删掉默认用户)
rabbitmqctl add_user username password # 添加新用户
rabbitmqctl set_user_tags username administrator# 设置用户tag
rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 赋予用户默认vhost的全部操作权限
rabbitmqctl list_user_permissions username # 查看用户的权限

以上是关于Linux进阶Ubuntu 16.04安装Rabbitmq的主要内容,如果未能解决你的问题,请参考以下文章

Linux进阶ubuntu 16.04安装zookeeper

Linux进阶Ubuntu 16.04安装ElasticSearch

Linux进阶Ubuntu 16.04安装ElasticSearch

ubuntu16.04 安装rabbitmq

ubuntu 16.04安装jupyter notebook使用与进阶

RabbitMQ 安装错误