RabbitMq install on Centos
安装服务(root)
erlang官方安装说明:https://www.erlang-solutions.com/resources/download.html
step 1: 安装erlang的yum源 (或者安装epel源,如果不要求最最新版本的话)
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
step 2:
安装erlang
# yum clean all ; yum makecache
# yum install erlang -y (Rabbitmq 基于 erlang 语言开发,所以需要安装 erlang 虚拟机)
step 3:
确认erlang安装成功
# erl
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
1>io:format("hello world ~n").
输出 hello world ok 安装erlang完毕, 用 halt(). 退出
step 4:
安装rabbitmq-server
Rabbitmq官方安装说明: http://www.rabbitmq.com/install-rpm.html
导入rabbitmq 数字签名key 支持后安装
rabbitmq-server安装完成
第一次安装时没有更新EPEL安装到这里遇到的问题:
提示erlang 版本支持问题
Error: Package: rabbitmq-server-3.4.2-1.noarch (/rabbitmq-server-3.4.2-1.noarch)
Requires: erlang >= R12B-3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
删除所有相关rpm包后重新按照官方文档安装
rpm -e epel-release-6-8.noarch
运行RabbitMQ Server
设置开机自动启动 rabbitmq-server# chkconfig --level 35 rabbitmq-server on启动rabbitmq-server [start][stop][etc]# service rabbitmq-server startrabbitmqctl status #查看运行信息
- 安装插件管理界面
webmachine error: path="/api/whoami"
"Unauthorized"
touch /etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_NODENAME=rabbit@server-66 #节点名称
RABBITMQ_NODE_IP_ADDRESS=0.0.0.0 #监听IP
RABBITMQ_NODE_PORT=5672 #监听端口
RABBITMQ_LOG_BASE=/data/rabbitmq/log #日志目录
RABBITMQ_PLUGINS_DIR=/data/rabbitmq/plugins #插件目录,,默认 /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.1/plugins
RABBITMQ_PLUGINS_EXPAND_DIR=/data/rabbitmq/plugins-expand #扩展插件目录,默认/var/lib/rabbitmq/mnesia/rabbit@server-65-plugins-expand
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia #后端存储目录
rabbitctl
rabbitmqctl 是rabbitMQ中间件的一个命令行管理工具。它通过连接一个中间件节点执行所有的动作。
rabbitmqctl [-n node] [-q] {command} [command options…]
[-n node]
默认的节点是”rabbit@server”,一般是本地节点。
rabbitmqctl 默认产生详细输出。通过”-q”标示可选择安静模式。
应用和集群管理
1. 停止rabbitMQ应用,关闭节点 : rabbitmqctl stop
2. 停止rabbitMQ应用 : rabbitmqctl stop_app
3. 启动rabbitMQ应用 : rabbitmqctl start_app
4. 显示rabbitMQ中间件各种信息 : rabbitmqctl status
5. 重置rabbitMQ节点 : rabbitmqctl reset和 rabbitmqctl force_reset 从它属于的任何集群中移除,从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息。 force_reset命令和reset的区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后 的手段。 注意:只有在停止rabbitMQ应用后,reset和force_reset才能成功。
6. 循环日志文件 : rabbitmqctl rotate_logs[suffix]
7. 加入到某个节点中:rabbitmqctl join_cluster {clusternode} [--ram]默认是ram类型的,也可以是disc类型
8. 集群目前的状态:rabbitmqctl cluster_status
9. 改变当前节点的类型:rabbitmqctl change_cluster_node_type {disc | ram}使用这个命令的时候必须先把该节点stop。
10. 同步某个队列(建立镜像队列):rabbitmqctl sync_queue {queue-name}
11. 取消同步某个队列:rabbitmqctl cancel_sync_queue{queue-name}
用户管理
1. 添加用户:rabbitmqctl add_user username password
2. 删除用户:rabbitmqctl delete_user username
3. 修改密码:rabbitmqctl change_password username newpassword
4. 清除密码:rabbitmqctl clear_password {username}
5. 设置用户标签:rabbitmqctl set_user_tags {username} {tag…}如果tag为空则表示清除这个用户的所有标签
6. 列出所有用户 :rabbitmqctl list_users
权限控制
1. 创建虚拟主机:rabbitmqctl add_vhost vhostpath
2. 删除虚拟主机:rabbitmqctl delete_vhost vhostpath
3. 列出所有虚拟主机:rabbitmqctl list_vhosts
4. 设置用户权限:rabbitmqctl set_permissions [-p vhostpath] {username} {conf} {write} {read}
5. 清除用户权限:rabbitmqctl clear_permissions [-p vhostpath] {username}
6. 列出虚拟主机上的所有权限:rabbitmqctl list_permissions [-p vhostpath]
7. 列出用户权限:rabbitmqctl list_user_permissions {username}
参数管理
这个不常用,具体的可以去官网看文档
协议管理
1. 设置协议:rabbitmqctl set_policy [-p vhostpath] [--priority priority] [--apply-to apply-to] {name} {pattern} {definition}
a) name
协议的名字
b) pattern
匹配的正则表达式
c) definition
json term的形式来定义这个协议
d) priority
优先级,数字越大优先级越高,默认为0
e) apply-to
policy的类型,有三种:queues exchanges all 默认为all,具体定义可以去官网看文档
2. 清除协议:rabbitmqctl clear_policy [-p vhostpath] {name}
3. 列出协议列表:rabbitmqctl list_policies [-p vhostpath]
服务器状态
1. 队列列表:rabbitmqctl list_queues [-p vhostpath] [queueinfoitem…]
queueinfoitem:
a) name
b) durable
c) auto_delete
d) arguments
e) policy
f) pid
g) owner_pid
h) exclusive_consumer_pid
i) exclusive_consumer_tag
j) messages_ready
k) messages_unacknowledged
l) messages
m) consumers
n) active_consumers
o) memory
p) slave_pids
q) synchronized_slave_pids
r) status
2. 交换机列表:rabbitmqctl list_exchanges [-p vhostpath] [exchangeinfoitem…]
exchangeinfoitem:
a) name
b) type
c) durable
d) auto_delete
e) internal
f) arguments
g) policy
3. 绑定列表:rabbitmqctl list_bindings [-p vhostpath] [bindinginfoitem…]
bindinginfoitem:
a) source_name
b) source_kind
c) destination_name
d) destination_kind
e) routing_key
f) arguments
4. 连接列表:rabbitmqctl list_connections不常用,具体去官网看文档
5. 通道列表:rabbitmqctl list_channels不常用,具体去官网看文档
6. 消费者列表:rabbitmqctl list_consumers
7. 当前状态:rabbitmqctl status
8. 当前环境:rabbitmqctl environment
9. 相关报告:rabbitmqctl report
一些其他的命令
后台开启rabbitmq服务:rabbitmq-server –detached
声明队列:rabbitmqadmin declare queue name=queue-name durable={false | true}
发布消息:rabbitmqadmin publish exchange=exchange-name routing_key=key payload=”context”
如果有任何疑问可以去官网看文档:
RabbitMq install on Centos的更多相关文章
- Install RabbitMQ server in CentOS 7
About RabbitMQ RabbitMQ is an open source message broker software, also sometimes known as message-o ...
- How to: cgminer (Bitcoin, Litecoin etc.) + AMD Radeon driver install on CentOS
UPDATE 7/7/13: If you want to use Catalyst drivers version 12.8 you will find that X won’t start (er ...
- RabbitMQ系列之Centos 7安装RabbitMQ 3.6.1
1.安装EPEL-7: rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.安 ...
- RabbitMq install on Centos6.3
安装服务(root) step 1: 启用EPEL:EPEL是一个Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux),EPEL是 ...
- kubernetes install for centos
官方的文档写的很清楚 https://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/ 如果已经安装过doc ...
- rabbitmq install erlang faild
我安装的时候莫名的出现这2个错误 No Presto metadata available for rabbitmq-erlangwarning: /var/cache/yum/x86_64/7/ra ...
- RabbitMQ install (Ubuntu)
1. key 1) Online way apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys &q ...
- glibc2.14 install from centos
安装glibc2.14 Tar xf glibc-2.14.tar.gz Cd glibc-2.14 Mkdir build Cd build ../configure –prefix=/opt/gl ...
- nginx install in centos
1.在nginx下载rpm包,如nginx-release-centos-6-0.el6.ngx.noarch.rpm ,并安装(可用yum直接安装): 注:rpm包只是提供一个nginx源. 2.使 ...
随机推荐
- maven 指定 jdk 版本
方法1:直接修改 本地 settings.xml 文件 <profiles> </profiles> 之间加入 下面的 <profile> <id> ...
- POJ2955Brackets——dp
题目:http://poj.org/problem?id=2955 1.考虑区间. 2.当前区间可为自己子区间的和(题意果然是和而非最大值). 3.考虑当前区间的边界. #include<ios ...
- Mono.Cecil 修改目标.NET的IL代码保存时报异常的处理。
使用Mono.Cecil对目标.NET的DLL程序进行IL修改后保存时报“Failed to resolve assembly: ' xxxxxx, version=xxxxx,Culture=xxx ...
- BASIC-26_蓝桥杯_报时助手
示例代码: #include <stdio.h> void print(int x) { switch(x) { : printf("zero ");break; : ...
- monkey亲测
打开终端: adb devices 查看链接的设备 adb shell 进入手机系统 ls data/data 进入手机目录查看要执行目标app的包名 adb -s emulator-(机器名) s ...
- php实现socket
一.Socket 简介 1.socket只不过是一个数据结构. 2.使用这个socket数据结构去开始一个客户端和服务器之间的会话. 3.服务器是一直在监听准备产生一个新的会话.当一个客户端连接服务器 ...
- windows hbase installation
In the previous post, I have introduced how to install hadoop on windows based system. Now, I will ...
- JavaScript中的闭包与匿名函数
知识内容: 1.预备知识 - 函数表达式 2.匿名函数 3.闭包 一.函数表达式 1.定义函数的两种方式 函数声明: 1 function func(arg0, arg1, arg2){ 2 // 函 ...
- PHP写日志公共类
Txl_Log.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * * * ...
- 20165233 2017-2018-2 《Java程序设计》第八周学习总结
20165233 2017-2018-2 <Java程序设计>第八周学习总结 教材学习内容总结 基础:Java中的线程,Thread类与线程的创建 - 线程是比进程更小的单位. - JVM ...