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();
?>
centos 安装和配置 rabbitmq的更多相关文章
- CentOS安装、配置RabbitMQ
安装步骤(rpm包安装): rpm安装官网:http://www.rabbitmq.com/install-rpm.html 下载rpm并安装: CentOs: wget http://www.rab ...
- 如何安装和配置RabbitMQ
今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始研究一下,把它重新封装一下,更便 ...
- 如何安装和配置RabbitMQ(转载)
如何安装和配置RabbitMQ 今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始 ...
- CentOS安装与配置LNMP
本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...
- (转)RedHat/CentOS安装和配置kerberos
RedHat/CentOS安装和配置kerberos 需要在kerberos server和客户端都先安装ntp (Internet时间协议,保证服务器和客户机时间同步 ) 1 kerberos 服 ...
- CentOS 安装最新的 RabbitMQ 3.7.8
RabbitMQ依赖Erlang,Erlang又依赖很多包,安装非常麻烦,可以如下操作: RabbitMQ在github上有提供新的erlang包(https://github.com/rabbitm ...
- 烂泥:CentOS安装及配置TFTP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口 ...
- centos安装及配置
centos安装 从网上下载最新的版本,用ultraiso做好系统盘,启动.安装过程没有什么可以说的,与其他发行版有点不同的是需要将安装包放到u盘根目录下(u盘容量最好大点,8~16G最好).开始没注 ...
- Linux、Ubuntu、CentOS安装和配置zsh
目录 01 zsh的安装 02 配置zsh 2.1 安装oh-my-zsh 2.2 查看oh-my-zsh目录 2.3 oh-my-zsh 插件的管理 2.3.1 添加插件 2.3.2 zsh-aut ...
随机推荐
- Redis的5种数据结构
Redis可以存储可以存储键与5种不同数据结构类型之间的映射. 五种结构类型为:STRING(字符串).LIST(列表).SET(集合).HASH(散列).ZSET(有序集合). 1.字符串类型Str ...
- JS编写全选,复选按钮
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- NSBundle常用方法及解释
1.使用类方法创建一个NSBundler对象+ (NSBundle *)mainBundle;eg:[NSBundle mailBundle];2.使用路径获取一个NSBundle 对象,这个路径应该 ...
- 判断当前VC是不是正在展示的活跃页面
viewController.isViewLoaded && viewController.view.window
- (转)如何在一台电脑上开启多个tomcat 和配置让系统识别哪个具体的tomcat
大家基本上都只在一台电脑上面启动一个Tomcat,而启动多个Tomcat会提示报错等相关故障.而假如调试负载均衡及集群的时候,需要在一台电脑上面开启多个Tomcat,那么怎么开启呢? 方法/步骤 首先 ...
- PHP单引号和双引号对待变量的不同
如果一个变量放在单引号中,会被当作字符串来处理,如果是放在双引号中,则会被当值一个变量来处理(此时可以用 {}扩起来,也可以不用). <?php $txt = "hello, this ...
- android BluetoothLE 多个 setCharacteristicNotification writeCharacteristic 失效
如果在搜索完服务后,执行多个 setCharacteristicNotification 或 writeCharacteristic 操作,某些操作可能会无效.需要在中间等待一些时间,真是一个大坑! ...
- city-picker 选择省市县的一个控件,好用。
我觉得好奇怪,这么好一个插件,为什么没有设置值的方法,还是我才疏学浅?? 我看有的人做法是把,把源代码里面的自动扫描机制注释掉 // $(function () { // $('[data-toggl ...
- mac iterm2配置
iterm2的配置分为如下几个部分: 1. 字体大小的配置: iTerm->Preferences->Profiles->Text->Regular Font: 我在这里设置成 ...
- cassandra的源代码的入口
参考 http://ju.outofmemory.cn/entry/115864 cassandra自带服务端,这和leveldb不一样. 入口就从服务端程序说起. 具体的入口程序在 Cassand ...