首页 > 编程知识 正文

rabbitmq实例教程,rabbitmq入门

时间:2023-05-05 10:44:41 阅读:174837 作者:2883

Centos7安装rabbitmq详细教程1、rabbitmq简介

RabbitMQ是目前最主流的消息中间件之一。 RabbitMQ是开源的AMQP实现,服务器端用Erlang语言编写,包括Python、Ruby、 NET、Java、JMS、c、PHP、ActionScript、XMPP、STOMP等

现在,在分布式的大型环境中,它是非常常用的消息队列。 以下详细介绍了如何在centos7上安装和部署rabbitmq,并列举了简单的维护。 这样,运行时同学就可以更好地保持rabbitmq的正常运行。 由于是典型的生产环境,无论是erlang还是rabbitmq都不能自行升级,每次升级都很谨慎,所以这里建议使用源代码进行安装。 这样就固定了版本,用yum安装的话,就不会发生不小心升级到版本,服务停止等问题。 当然yum的安装会更简单,但这里不介绍。 感兴趣的人请参考官方文件。

二、Centos7下安装rabbitmq

rabbitmq是用erlang语言编写的,在安装rabbitmq之前必须先安装erlang。 在这里用erlang的源代码安装。 erlang安装包官方网站下载: http://erlang.org/download/

wget 3358 Erlang.org/download/OTP _ src _ 21.1.tar.gztar-zxvf OTP _ 21.1.tar.gzcd OTP _ src _ 21.1 # mmm 必须安装以下依赖软件包yum install-ymakegcc-cm4 OpenSSL-devel ncurses-develunixodbcunixodbc

编译erlang需要java环境,否则将报告以下错误:

然后,直接运行make makeinstall进行编译和安装

生成安装

安装后,/usr/local/erlang将显示以下内容:

然后将/usr/local/erlang/陶醉蜡烛文件夹放入环境变量中,加载以下内容即可直接使用。

vim/etc/profile######包括如下所示的### # # # path=$ path :/usr/local/Erlang /陶醉的蜡烛# # #

至此,安装完成。 直接输入erl,安装就会成功,如下图所示

确定,安装erlang后,在下面安装rabbitmq。 安装之前,必须前往官方网站,了解rabbitmq版本对erlang版本的支持情况。 官方网站地址: http://www.rabbit MQ.com/which-Erlang.html

这里,我们安装的erlang是最新的21版,所以rabbitmq也安装最新的3.7.7、3.7.8。 然后,在官方网站上直接下载该版本的安装包。 为了便于安装,最好直接使用编译好的二进制软件包。 也就是说,因为马上就能使用,所以不用进行复杂的yum配置等。 具体见官方文件: http://www.rabbit MQ.com/install-generic-UNIX.html

#源包wget https://github.com/rabbit MQ/rabbit MQ-server/releases/download/v3.7.8/下载rabbit MQ-server-generic-uus tar-xvfrabbitmq-server-generic-UNIX-3.7.8.tar.xz-c/usr/local s重新加载以下环境变量source /etc/profile #以添加web管理插件rabbit MQ-pluginsenablerabbitmq _ management

默认的rabbitmq没有配置文件。 需要去官方的github复制配置文件模板。 在最新的3.7.0和更高版本中,可以将新的key-value格式的配置文件rabbitmq.conf与原始erlang格式的advanced.config结合使用来解决k

ey-value形式不好定义的配置。github地址:https://github.com/rabbitmq/rabbitmq-server/tree/master/docs

由于我这里安装的是最新的3.7.8。所以就使用新的配置文件,将配置文件复制到 /usr/local/rabbitmq_server-3.7.8/etc/rabbitmq/ 下。如:

ok,然后就可以启动rabbitmq服务了,其实没有配置文件也是可以启动服务的。

# 后台启动rabbitmq服务rabbitmq-server -detached

上面,启用了rabbitmq的管理插件,会有一个web管理界面,默认监听端口15672,将此端口在防火墙上打开,则可以访问web界面:

使用默认的用户 guest / guest (此也为管理员用户)登陆,会发现无法登陆,报错:User can only log in via localhost。那是因为默认是限制了guest用户只能在本机登陆,也就是只能登陆localhost:15672。可以通过修改配置文件rabbitmq.conf,取消这个限制: loopback_users这个项就是控制访问的,如果只是取消guest用户的话,只需要loopback_users.guest = false 即可。

注意:

{loopback_users, [<<"guest">>]}  

这个是erlang格式的原配置,后面是一个列表,可以自定义添加多个用户。是用来定义需要被限制登录的用户。默认是只有guest这一个用户。我们这里只需要设置loopback_users.guest = false 就可以解除guest的限制了。如图:

然后,就能登陆到web控制界面:

 

OK,到此rabbitmq就算是装好了,rabbitmq的webui功能比较齐全,可以做到很多东西,包括常见的用户管理,权限管理,vhost管理等等。如图

点击自身用户,可以设置用户的权限

总的来说,使用webui已经非常方便了,可以实现基本常用的管理操作。当然除了用web ui,还有用命令行:下面列举一下常用的一些命令行操作:

服务启动停止:

启动: rabbitmq-server -detached

停止: rabbitmqctl stop

插件管理:

插件列表: rabbitmq-plugins list 

启动插件: rabbitmq-plugins enable XXX   (XXX为插件名)

停用插件: rabbitmq-plugins disable XXX

用户管理:

添加用户: rabbitmqctl add_user username password

删除用户: rabbitmqctl delete_user username

修改密码: rabbitmqctl change_password username newpassword

设置用户角色: rabbitmqctl set_user_tags username tag

列出用户: rabbitmqctl list_users

权限管理:

列出所有用户权限: rabbitmqctl list_permissions

查看制定用户权限: rabbitmqctl list_user_permissions username

清除用户权限: rabbitmqctl clear_permissions [-p vhostpath] username

设置用户权限: rabbitmqctl set_permissions [-p vhostpath] username conf write read

                          conf: 一个正则匹配哪些资源能被该用户访问

                          write:一个正则匹配哪些资源能被该用户写入

                          read:一个正则匹配哪些资源能被该用户读取

 

OK,今天就介绍到这里。这只是单机安装rabbitmq的单节点,且是使用了比较麻烦的源码安装。

而rabbitmq本身就是常用于分布式架构的中间组件,所以rabbitmq的集群搭建更为重要,这个下次再说,这个下次再说
 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。