centos 安装和配置 rabbitmq

centos 安装 rabbitmq

1、rabbitmq是erlang语言开发的,安装前首先需要安装erlang
# yum install erlang -y // 直接安装可能报错,
# yum install ncurses-devel // 安装依赖
官方下载erlang包
# wget http://erlang.org/download/otp_src_19.0.tar.gz
解压安装erlang
# tar xzvf otp_src_19.0.tar.gz
# cd otp_src_19.0
# ./configure
# make && make install
安装完毕后测试运行一下:
#erl
1>1+2.
3
2>halt(). // 退出

2、安装rabbitmq,yum安装
# rpm -Uvh http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
# yum install rabbitmq-server -y

官方下载: wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5.zip
解压安装
# tar xzvf rabbitmq-server-3.6.5.zip
# cd rabbitmq-server-3.6.5
# make
# make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install

3、安装完成后需要配置:
/usr/local/rabbitmq/sbin目录下文件说明:
rabbitmq-env // 环境配置
rabbitmq-defaults // 默认参数设置
rabbitmqctl // 管理工具
rabbitmq-plugins // 插件管理工具
rabbitmq-server // rabbitmq服务

3.1、添加自定义配置文件
RABBITMQ_NODE_IP_ADDRESS=192.168.2.2 // 自定义地址
RABBITMQ_NODE_PORT=3333 // 自定义端口号

3.2、启动:
# rabbitmq-server -detached

报错:ERROR: epmd error for host "bogon": timeout (timed out)
修改/etc/hosts
127.0.0.1 bogon
重启即可。

3.3、启用rabbitmq web管理插件,安装sbin目录下:
./rabbitmq-plugins enable rabbitmq_management
然后重启rabbitmq-server
登录web管理页面
http://192.168.2.2:15672
登录用户:guest/guest

3.4、列出所有插件
# ./rabbitmq-plugins list

3.5、安装php的rabbitmq扩展:
# yum install librabbitmq-devel.x86_64 -y
# wget http://pecl.php.net/get/amqp-1.7.1.tgz
# tar zxvf amqp-1.7.1.tgz
# cd amqp-1.7.1
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp
# make
# make install
# vim /usr/local/php/etc/php.ini
extension=amqp.so

重启php-fpm
# /usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf

php操作demo
1. 创建队列
<?php
//连接RabbitMQ
$conn_args = array( ‘host‘=>‘192.168.2.2‘ , ‘port‘=> ‘3333‘, ‘login‘=>‘guest‘ , ‘password‘=> ‘guest‘,‘vhost‘ =>‘/‘);
$conn = new \AMQPConnection($conn_args);
$conn->setTimeout(1);
$conn->connect();
//创建exchange名称和类型
$channel = new \AMQPChannel($conn);
$ex = new \AMQPExchange($channel);
$ex->setName(‘ttlsa_exchange‘);
$ex->setType(AMQP_EX_TYPE_DIRECT);
$ex->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);
$ex->declare();
//创建queue名称,使用exchange,绑定routingkey
$q = new \AMQPQueue($channel);
$q->setName(‘ttlsa_queue‘);
$q->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);
$q->declare();
$q->bind(‘ttlsa_exchange‘, ‘ttlsa_routingkey‘);
//消息发布
$channel->startTransaction();
$message = json_encode(array(‘Hello World!‘,‘DIRECT‘));
$ex->publish($message, ‘ttlsa_routingkey‘);
$channel->commitTransaction();
$conn->disconnect();
?>

2. 获取队列信息:

<?php
//连接RabbitMQ
$conn_args = array( ‘host‘=>‘192.168.2.2‘ , ‘port‘=> ‘3333‘, ‘login‘=>‘guest‘ , ‘password‘=> ‘guest‘,‘vhost‘ =>‘/‘);
$conn = new \AMQPConnection($conn_args);
$conn->connect();
//设置queue名称,使用exchange,绑定routingkey
$channel = new \AMQPChannel($conn);
$q = new \AMQPQueue($channel);
$q->setName(‘ttlsa_queue‘);
$q->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);
$q->declare();
$q->bind(‘ttlsa_exchange‘, ‘ttlsa_routingkey‘);
//消息获取
$messages = $q->get(AMQP_AUTOACK) ;
if ($messages){
var_dump(json_decode($messages->getBody(), true ));
}
$conn->disconnect();
?>

时间: 2024-10-20 01:22:36

centos 安装和配置 rabbitmq的相关文章

CentOS安装与配置LNMP

本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.epub 原文链接:http://www.coderblog.cn/article/36/ CentOS安装与配置LNMP(1):Nginx安装与常用命令 Nginx是一个轻量级的HTTP服

Centos 安装FTP配置目录权限,iptables设置ftp服务

Centos 安装FTP配置目录权限,iptables设置ftp服务 2012-07-06 admin Leave a comment Go to comments CentOS 安装vsftpd,设置Iptables 限制用户访问自己目录 安装好vsftpd后,打开配置文件: [root@hexuweb101 ~]$vi /etc/vsftpd/vsftpd.conf 1 [root@hexuweb101 ~]$vi /etc/vsftpd/vsftpd.conf 把下面几行注释去掉,让其配置

Centos 安装Java配置环境变量

Centos 安装Java配置环境变量 1.查看系统版本 [[email protected] ~]# java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea61.11.5) (rhel-1.45.1.11.1.el6-3-i386) OpenJDK 64-Bit Server VM (build 20.0-b12,mixed mode) 2.进一步查看jdk信息 [[email protec

CentOS 安装最新的 RabbitMQ 3.7.8

RabbitMQ依赖Erlang,Erlang又依赖很多包,安装非常麻烦,可以如下操作: RabbitMQ在github上有提供新的erlang包(https://github.com/rabbitmq/erlang-rpm)直接加到yum源中: #vim /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq/rpm/

centos安装与配置dhcp服务

centos安装过程及配置方法 一.安装流程 有两种方法:一是使用自带的rpm安装包,二是使用yum命令在线安装. 1.检测安装      查看服务器上是否已经安装DHCP rpm -qa |grep dhcp 挂载好光盘镜像(挂载过程略)进入光盘目录 rpm -ivh dhcp.x86_64.12.4.2.5-36.el7.centos rpm -ivh dhcp.x86-devel_64.12.4.2.5-36.el7.centos 利用rpm -ql dhcp 检测安装包所安装的所有的文件

烂泥:CentOS安装及配置TFTP服务器

本文首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口.主要提供文件的上传和下载,TFTP一般是适用于远程无盘设备启动,PXE启动以及路由器.交换机IOS的备份.恢复和升级等场合. TFTP与FTP相比,TFTP不能列出目录的内容.不支持认证和加密机制.只支持UDP协议. 以上就是有关TFTP的相关特点,下面我们开始安装TFTP服务. 说明:在以后的博客中,我会尽量在Ubun

Centos7安装并配置rabbitmq

本文只为没有接触过的同僚讲述RPM方式安装,因为我也是刚接触,大神请绕道 rabbitmq依赖于erlang,所以需要先安装erlang(是一种面向并发的编程语言) 和其他依赖包socat,如果是源码安装则还需要其他依赖包,具体包名根据报错提示进行安装,如ncurses-devel. Yum安装socat    #yum -y install socat 下载erlang软件包,本文使用erlang-19.0.4版本,下面给出下载链接 wget www.rabbitmq.com/releases

烂泥:centos安装及配置DNS服务器

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过DNS软件BIND为例,进行实验. 本次实验:OS centos6.5 64bit 安装DNS软件,使用如下命令: yum -y install bind bind-chroot bind-utils BIND配置文件保存在两个主要位置: /etc/named.conf 这个是BIND服务主配置文件

centos安装与配置R语言

Linux下安装R语言 一.编译安装 由于采用编译安装,所以需要用到gcc编译环境,在编译前check文件时还会用到libXt-devel和readline-devel两个依赖,所以在编译R语言源码时先将这些工具和依赖包准备好.readline-devel 也可以不安装,不安装此包R语言编程环境中的自动补全功能就废了. 注:可以使用yum安装比较方便. 1.安装环境: Centos 6.5 2.安装步骤: (1) 打开命令行窗口,进入某一目录输入 wget  http://ftp.ctex.or