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.使 ...
随机推荐
- ORA-25205: the QUEUE SYS.KUPC$S_1_20180123193821 does not exist
[oracle@hbjfdba:/oratmp]#expdp \'XXX as sysdba\' DIRECTORY=TMP_DUMP_DIR DUMPFILE=NEW_LOCAL_HB_DMN_%U ...
- linux同一台机子上用多个git 账号
Step 1 - Create a New SSH KeyWe need to generate a unique SSH key for our second GitHub account. ssh ...
- 两种获取MySql数据库中所有表的主键和外键约束信息的Sql语句
最近在写Rafy底层的一些东西,在数据库方面把MySql数据库集成到里面去,里面有一个需求,需要获取非系统数据库,也就是我们自己建立的数据库中所有表的主键和外键元数据列表. 第一种方法:是网上的方法, ...
- linux 线程的同步 二 (互斥锁和条件变量)
互斥锁和条件变量 为了允许在线程或进程之间共享数据,同步时必须的,互斥锁和条件变量是同步的基本组成部分. 1.互斥锁 互斥锁是用来保护临界区资源,实际上保护的是临界区中被操纵的数据,互斥锁通常用于保护 ...
- android 获取当前 activity
ActivityManager am = (ActivityManager) this .getSystemService(ACTIVITY_SERVICE); List<RunningTask ...
- Zabbix 命令:zabbix_get
zabbix_get 作用总有人在群里提问,为什么 zabbix 获取不到数据,为什么 zabbix 提示 Not Support,怎么办?别老问,用 zabbix_get 试着获取数据即可.在 za ...
- Windows下python 安装Mysqldb模块
CMD执行 pip install mysql-python 报错如下: 1.如果报类似 Microsoft Visual C++ 9.0 is required < Unable to fin ...
- Spring mvc的web.xml配置详解
1.spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2.在web.xml配置监听器ContextLoaderListener(l ...
- API网关Kong系列(三)添加服务
进入之前部署好的kong-ui,默认第一次登陆需要配置kong服务的地址 进入API菜单,点击+号 按照要求填入相关信息 至此完成,可以使用诸如 https://your.domain.com:208 ...
- PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
这篇文章主要介绍了PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别,本文给出了这两个参数的5个区别,需要的朋友可以参考下 虽然nos ...