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.使 ...
随机推荐
- k最邻近算法——加权kNN
加权kNN 上篇文章中提到为每个点的距离增加一个权重,使得距离近的点可以得到更大的权重,在此描述如何加权. 反函数 该方法最简单的形式是返回距离的倒数,比如距离d,权重1/d.有时候,完全一样或非常接 ...
- Vuejs项目的Webpack2构建优化
最近在做的项目因为相对较大(打包有100多个chunk),在build构建的时候速度一直上不去,甚是烦恼.由于用的是vue-cli的webpack2模板,一开始并没有想着要对其进行优化,一直觉得是we ...
- linux 命令:chmod权限设置命令
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
- Linux如何用yum安装软件或服务
百度百科: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服 ...
- Android getprop setprop watchprops用法
转载请注明出处:https://www.cnblogs.com/lialong1st/p/10172973.html 在安卓系统中,当你写了一个脚本,已经添加到开机启动 init.rc 中,即使脚本中 ...
- 【jmeter】Jmeter启动GUI界面出错
今天要用Jmeter测试服务器性能,发现GUI界面总是有warning提示: WARNING: Could not open/create prefs root node Software\JavaS ...
- 解决解密时出现"要解密的数据的长度无效" 或 "填充无效无法被移除" 的错误
1.首先排除数据库中读取加密后的字段是否被强制截断. 2.AES加密后的byte[]首先应用base64( Convert.ToBase64String)编码一次,若直接用utf8的话会报上述错误,若 ...
- 在ASP.NET应用程序中使用身份模拟(Impersonation)
摘要 缺省情况下,ASP.NET应用程序以本机的ASPNET帐号运行,该帐号属于普通用户组,权限受到一定的限制,以保障ASP.NET应用程序运行的安全.但是有时需要某个ASP.NET应用程序或者程 ...
- 跟我一起学Makefile
概述 什么是makefile?或许很多Winodws程序员都不知道这个东西,因为那些Windows IDE都为你做了这个工作,但我觉得要做一个好的和professional的程序员,makefile还 ...
- mysql联表查询
2.1 内连接 select a.*,b.* FROM a INNER join b ON a.id = b.id; 查出所有 或者 select a.*,b.* FROM a join b ...