rabbitMQ的安装和配置(一)
前言
erlang是一门面向并发的编程语言,流行的消息队列rabbitMQ是基于erlang环境运行的;
下载安装erlang语言环境
源码安装
# 从官网下载,在任何目录下,使用root权限
wget http://www.erlang.org/download/otp_src_20.0.tar.gz
# 解压到习惯目录
tar -zxvf otp_src_20.0.tar.gz -C /usr/local/
# 修改名字
mv otp_src_20.0 erlang
# 安装erlang需要的依赖包
yum -y install gcc glibc-devel make ncurses-devel openssl openssl-devel autoconf gcc-c++ kernel-devel m4 unixODBC unixODBC-devel wxGTK wxGTK-devel fop libxslt libxslt-devel
# 进入目录
cd erlang
# 指定安装的目录和相关的配置
./configure --prefix=/usr/local/erlang --enable-gui=no --enable-threads --enable-smp-support --enable-kernel-poll --enable-native-libs --enable-hipe --without-javac
# 如果没有报错,或只出现没有 wx not found和Java compiler disabled by user是正常的
make & make install
注意:
- 如果出现错误如“没有目标创建XXXXX”,找到进入的目录如果是hipe目录,就在配置中增加:
./configure --prefix=/usr/local/erlang --enable-XXXXX # XXXX 表示报错的目录,一般是权限的问题;
细节
- 本人习惯将安装文件和源文件放在一个大目录下,如erlang,这样当需要卸载的时候直接删除这个目录就行了;
apt安装
sudo apt update
apt install erlang
测试
默认安装的客户端是在/usr/local/erlang/bin下的
cd /usr/local/erlang/bin
# 输入./erl,如果出现交互界面则成功了
链接和环境变量
# 创建一个软连接到系统路径中
ln -s /usr/local/erlang/bin/erl /usr/bin/erl
rabbitMQ的安装和使用
源码安装
cd /usr/local
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-generic-unix-3.6.10.tar.xz
# 解压
xz -d rabbitmq-server-generic-unix-3.6.10.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.10.tar
# 重新命名
mv rabbitmq_server-3.6.10 rabbitmq_server
# 进入文件目录,这已经算是安装好的文件了
相关的使用的命令都在sbin目录中,将sbin目录添加到系统环境变量;
vi /etc/profile
# 在文件的末尾添加
#set rabbitmq
export PATH=$PATH:/usr/local/rabbitmq_server/sbin
配置开机自启动
- 在/etc/rc.d/rc.local文件中加入启动命令
vi /etc/rc.d/rc.local
# start rabbitmq
/usr/local/rabbitmq_server/sbin/rabbitmq-server -detached
reboot # 重启测试一下
- 使用sysv-rc-conf管理
apt intsall sysv-rc-conf
vi rabbitmq.service
# start rabbitmq
/usr/local/rabbitmq_server/sbin/rabbitmq-server -detached
chmod 755 rabbitmq.service
# 将本脚本放置在/etc/init.d目录下
sysv-rc-conf打开管理界面添加权限。
如果无法启动可能有一下的原因:
可能是权限问题,你需要切换到root账户执行操作;
主机名问题,rabbitmq会在启动前会解析主机名的地址是否可通,需要添加主机名;
vi /etc/hosts
127.0.0.1 hostname
apt安装
apt install rabbitmq-server
apt安装后rabbitmq-server会自动启动。rabbitmq的安装文件目录在/usr/local/rabbitmq,启动文件在/etc/init.d/rabbitmq-server,命令行目录在/usr/sbin/rabbitmmq.
# /etc/init.d/rabbitmq-server
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=rabbitmq-server
DAEMON=/usr/sbin/${NAME} # 守护进程的路径
CONTROL=/usr/sbin/rabbitmqctl # 客户端路径
DESC="RabbitMQ Messaging Server"
USER=rabbitmq
ROTATE_SUFFIX=
INIT_LOG_DIR=/var/log/rabbitmq # 日志路径
PID_FILE=/var/run/rabbitmq/pid # 进程文件路径
rabbitmq的组件
rabbitmq的组件放置在~/bin目录下,我们进入可以看到:
rabbitmqctl : rabbitmq的客户端,用来连接管理rabbitmq;
rabbitmq-env :配置环境变量的管理者;
rabbitmq-plugins:rabbitmq后台插件管理;
rabbitmq-server: rabbitmq守护进程;
rabbitmq的管理
- rabbitmq使用rabbitmqctl管理,常用的命令有:
rabbitmq-server -detached # 使用守护进程方式启动
rabbitmq-server start # 使用阻塞方式启动
rabbitmqctl stop # 关闭rabbitmq
rabbitmqctl list_users # 查看后台管理员名单
rabbitmqctl list_queues # 查看当前的所有的队列
rabbitmqctl list_exchanges # 查看所有的交换机
rabbitmqctl list_bindings # 查看所有的绑定
rabbitmqctl list_connections # 查看所有的tcp连接
rabbitmqctl list_channels # 查看所有的信道
rabbitmqctl stop_app # 关闭应用
rabbitmqctl start_app # 打开应用
rabbitmqctl reset # 清空队列
- 查看状态信息
rabbitmqctl status
# 得到如下的信息
[{pid,3086}, # rabbitmq服务运行的进程ID
{running_applications,
[{rabbit,"RabbitMQ","3.6.10"},
{ranch,"Socket acceptor pool for TCP protocols.","1.3.0"},
{ssl,"Erlang/OTP SSL application","8.2"},
{public_key,"Public key infrastructure","1.4.1"},
{asn1,"The Erlang ASN1 compiler version 5.0","5.0"},
{os_mon,"CPO CXC 138 46","2.4.2"},
{rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.6.10"},
{syntax_tools,"Syntax tools","2.1.2"},
{xmerl,"XML parser","1.3.15"},
{crypto,"CRYPTO","4.0"},
{mnesia,"MNESIA CXC 138 12","4.15"},
{compiler,"ERTS CXC 138 10","7.1"},
{sasl,"SASL CXC 138 11","3.0.4"},
{stdlib,"ERTS CXC 138 10","3.4"},
{kernel,"ERTS CXC 138 10","5.3"}]},
{os,{unix,linux}},
{erlang_version,
"Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:64] [hipe] [kernel-poll:true]\n"},
{memory, # 内存
[{total,56444960}, # 总共消耗的内存,单位字节
{connection_readers,0}, # tcp订阅连接消耗
{connection_writers,0}, # tcp发布者连接消耗
{connection_channels,0}, # 信道消耗
{connection_other,0}, # 其他消耗
{queue_procs,2840}, # 队列进程消耗
{queue_slave_procs,0}, # 队列子进程消耗
{plugins,0}, # 插件消耗
{other_proc,22726336}, # 其他进程消耗
{mnesia,60944},
{metrics,184544},
{mgmt_db,0},
{msg_index,45048}, # 消息标记
{other_ets,1695784},
{binary,94472}, # 一些被引用的数据
{code,21374813}, # 代码
{atom,891849},
{other_system,9549962}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]}, # mq监听端口5672,erlang端口25672
{vm_memory_high_watermark,0.4}, # 开启流控的内存阀值
{vm_memory_limit,6568098201}, # 消息持久化阀值
{disk_free_limit,50000000}, # 磁盘开启流控阀值
{disk_free,48187891712}, # 磁盘空闲量
{file_descriptors, # 文件句柄
[{total_limit,924}, # 文件句柄上限
{total_used,2}, # 已使用
{sockets_limit,829}, # 允许的TCP连接上限
{sockets_used,0}]}, # 已使用连接数
{processes,
[{limit,1048576}, # 允许的最大进程数
{used,156}]}, # 已使用进程数
{run_queue,0}, # 运行的队列数
{uptime,97},
{kernel,{net_ticktime,60}}]
参考
rabbitMQ的安装和配置(一)的更多相关文章
- rabbitMQ第一篇:rabbitMQ的安装和配置
在Windows下进行rabbitMQ的安装 第一步:软件安装 如果安装rabbitMQ首先安装基于erlang语言支持的OTP软件,然后在下载rabbitMQ软件进行安装(安装过程都是下一步,在此不 ...
- Linux下 RabbitMQ的安装与配置-3
一 Erlang安装 1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境. 从Erlang的官网http://www.erlang.org/download.html 下载最 ...
- Linux下 RabbitMQ的安装与配置
以下教程摘录自互联网并做了适当修改,测试的rabbitmq 版本为:rabbitmq-server-generic-unix-3.5.6 各版本之间会有差异!!! 一 Erlang安装 Rabbit ...
- RabbitMQ的安装和配置
在Windows下进行rabbitMQ的安装 第一步:软件安装 如果安装rabbitMQ首先安装基于erlang语言支持的OTP软件,然后在下载rabbitMQ软件进行安装(安装过程都是下一步,在此不 ...
- RabbitMQ的安装与配置
一.安装环境 CentOS6.3 64位操作系统. 二.安装文件 1.安装erlang:Rabbitmq是基于erlang语言开发的,所以先需要安装erlang:我选择的安装包是:erlang-17. ...
- RabbitMQ的安装和配置化可视界面
RabbitMQ在windows下的安装 RabbitMQ 它依赖于Erlang,在window上安装时,需要先安装Erlang. 首先确定你的window电脑是32位还是64位,然后下载对应版本的E ...
- rabbitMQ之安装和配置(一)
前言 erlang是一门面向并发的编程语言,流行的消息队列rabbitMQ是基于erlang环境运行的: 下载安装erlang语言环境 源码安装 # 从官网下载,在任何目录下,使用root权限 wge ...
- Window环境下RabbitMQ的安装和配置教程
一.安装 首先,RabbitMQ基于Erlang语言环境,所以需要先安装Erlang. Erlang下载地址:http://www.erlang.org/downloads 按照安装程序默认安装完成就 ...
- Centos7下RabbitMQ的安装与配置
具体按照步骤以此为准 第一步:安装最新版的erlang依赖 通过github设置版本号:https://github.com/rabbitmq/erlang-rpm vi /etc/yum.repos ...
随机推荐
- 不用第三方解码码取得图片宽高 附完整C++算法实现代码
在特定的应用场景下,有时候我们只是想获取图片的宽高, 但不想通过解码图片才取得这个信息. 预先知道图片的宽高信息,进而提速图片加载,预处理等相关操作以提升体验. 在stackoverflow有一篇相关 ...
- HttpClient(二)HttpClient使用Ip代理与处理连接超时
前言 其实前面写的那一点点东西都是轻轻点水,其实HttpClient还有很多强大的功能: (1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等) (2)支持自动转向 (3)支持 ...
- (转)Android Studio Error:Failed to resolve: com.android.support:appcompat-v7:25.1.0解决方案
今天不知道为什么导入eclipse项目后就出现了错误,没导入之前是正常使用AS的 Error:(26, 13) Failed to resolve: com.android.support:appco ...
- [51nod1462]树据结构
题面: 给一颗以1为根的树. 每个点有两个权值:vi, ti,一开始全部是零. Q次操作: 读入o, u, d o = 1 对u到根上所有点的vi += d o = 2 对u到根上所有点的ti += ...
- 连连看(dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175 连连看 Time Limit: 20000/10000 MS (Java/Others) ...
- 爬 NationalData ,虽然可以直接下,但还是爬一下吧
爬取的是分省月度数据,2017年的,包括:居民消费价格指数,食品烟酒类居民消费价格指数,衣着类居民消费价格指数,居住类居民消费价格指数,生活用品及服务类居民消费价格指数,交通和通信类居民消费价格指数, ...
- UEP-级联查询
级联查询在UEP中采用动态下拉的形式,cascadeid为关键字,注意jsp页面的id的相互嵌套关系,数据库字段的数值的设置,和动态下拉SQL语句的书写.本功能实现了省市区的三级联动查询
- DB 注意事项 优化数据库查询
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- MLlib--PIC算法
转载请标明出处http://www.cnblogs.com/haozhengfei/p/82c3ef86303321055eb10f7e100eb84b.html PIC算法 幂迭代聚类 ...
- SSM手把手整合教程&测试事务
自打来了博客园就一直在看帖,学到了很多知识,打算开始记录的学习到的知识点 今天我来写个整合SpringMVC4 spring4 mybatis3&测试spring事务的教程,如果有误之处,还请 ...