Linux中编译安装RabbitMQ

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Dream_ya/article/details/84570199

一、RabbitMQ介绍


1、简介

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。

2、MQ特点

MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。

3、hosts解析

注意:必须加入,否则后面会出问题!!!

[root@server1 ~]# cat /etc/hosts
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.10.1  server1

二、erlang安装


操作系统:rhel7.3 python版本:3.6
官方链接:http://www.erlang.org/download
百度网盘下载链接:https://pan.baidu.com/s/15DzKkvurRzCCb2tvvZ7wyw 提取码: qvzv
erlang版本:otp_src_19.0.tar.gz
RabbitMQ依赖于erlang,因此我们需要进行安装!!!

1、编译安装

### 安装依赖
[root@server1 ~]# yum install -y ncurses-devel openssl-devel unixODBC-devel
[root@server1 ~]# wget http://erlang.org/download/otp_src_19.0.tar.gz
[root@server1 ~]# tar xf otp_src_19.0.tar.gz
[root@server1 ~]# cd otp_src_19.0/
[root@server1 otp_src_19.0]# ./configure --prefix=/usr/local/erlang --without-javac
[root@server1 otp_src_19.0]# make && make install

configure后结果(可以忽略)
在这里插入图片描述

2、加入环境变量

[root@server1 ~]# vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin

[root@server1 ~]# source /etc/profile

3、测试

[root@server1 ~]# erl                  ###即安装成功
Erlang/OTP 19 [erts-8.0] [source] [64-bit] [async-threads:10] [kernel-poll:false]
Eshell V8.0  (abort with ^G)           ###版本号
1> 

三、RabbitMQ安装


软件版本:rabbitmq-3.6.15
下载地址:http://www.rabbitmq.com/releases/rabbitmq-server/
5672: 通信端口
15672: web管理端口
25672: 集群通信端口

1、编译安装

[root@server1 ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
[root@server1 ~]# tar xf rabbitmq-server-generic-unix-3.6.15.tar.xz
[root@server1 ~]# mv rabbitmq_server-3.6.15/ /usr/local/rabbitmq

2、加入环境变量

[root@server1 ~]# vim /etc/profile             ###进行修改
export PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin

[root@server1 ~]# source /etc/profile

3、启动rabbitmq

[root@server1 ~]# rabbitmq-server 或 rabbitmq-server -detached(后台运行)    ###启动
[root@server1 ~]# netstat -lntup|grep -E "5672|25672|15672"                        ###查看生成端口,web并没有启动成功
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      2228/beam           
tcp6       0      0 :::5672                 :::*                    LISTEN      2228/beam 

4、开启Web管理界面

[root@server1 ~]# rabbitmq-plugins enable rabbitmq_management      ###加载插件管理界面

[root@server1 ~]# netstat -lntup|grep -E "5672|25672|15672"
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      2228/beam           
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      2228/beam           
tcp6       0      0 :::5672                 :::*                    LISTEN      2228/beam  

5、添加用户

[root@server1 ~]# rabbitmqctl add_user dream 1              ###添加用户dream且密码为1
[root@server1 ~]# rabbitmqctl set_user_tags dream administrator  ###设置dream为administrator 

6、测试登陆

默认的账户为:guest/guest,但是需要我们加入hosts解析到127.0.0.1,这里我们用dream/1进行登陆!!!

http://10.10.10.1:15672/

在这里插入图片描述

在这里插入图片描述
四、安装报错


1、报错:

[root@server1 ~]# rabbitmq-server
BOOT FAILED
===========

Error description:
   noproc

Log files (may contain more information):
   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]
   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]

Stack trace:
   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
    {rabbit,ensure_working_log_handlers,0,
            [{file,"src/rabbit.erl"},{line,856}]},
    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]

=INFO REPORT==== 26-Nov-2018::21:52:45.725125 ===
Error description:
   noproc

Log files (may contain more information):
   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]
   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]

Stack trace:
   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
    {rabbit,ensure_working_log_handlers,0,
            [{file,"src/rabbit.erl"},{line,856}]},
    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]


{"init terminating in do_boot",noproc}
init terminating in do_boot (noproc)

Crash dump is being written to: erl_crash.dump...done

2、解决方案:

root用户启动,因此可以发现并不是网上所给的答案权限问题。之前erlang版本过高,用的otp_src_21.1.tar.gz,后来换成低版本的otp_src_19.0.tar.gz就成功了!!!

五、pika模块安装


下载链接:https://pypi.org/project/python3-pika/0.9.14/#files

1、安装

[root@server1 ~]# wget https://files.pythonhosted.org/packages/1a/0f/70233fa4ce5df4b6451a94043bfdb6a8e524a85b53a0c861fc8e46cb6115/python3-pika-0.9.14.tar.gz
[root@server1 ~]# tar xf python3-pika-0.9.14.tar.gz 
[root@server1 ~]# cd python3-pika-0.9.14/
[root@server1 ~]# python setup.py install

2、测试

[root@server1 ~]# python
Python 3.6.0 (default, Nov  6 2018, 18:56:33) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pika

下一篇文章> Python RabbitMQ基础用法

猜你喜欢

转载自blog.csdn.net/Dream_ya/article/details/84570199
今日推荐