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 ...
随机推荐
- 2 Add Two Numbers
// Java public ListNode addTwoNumbers(ListNode l1, ListNode l2) { return add(l1, l2, false); } priva ...
- python学习之——django环境搭建
Django是一个基于MVC构造的框架,用于web开发,主要目的是简便.快速的开发数据库驱动的网站. 前提:已经安装python 搭建步骤: 1.https://www.djangoproject.c ...
- treap树模板
///treap树模板 typedef struct Node ///节点的结构体 { Node *l,*r; int val,pri; ///节点的值和优先级 int sz; ///节点子树的节点数 ...
- GUI的搭建,windowbuilder的使用
在进行GUI的搭建过程中,相信很多人对于一个图标的设置感觉写起来很麻烦,需要不断的添加,而在java中有一个windowbuilder窗口可以很好的帮助我们进行GUI的搭建 1.进入eclipse的页 ...
- Trie / Radix Tree / Suffix Tree
Trie (字典树) "A", "to", "tea", "ted", "ten", "i ...
- ue4 Worldmachine 结合使用
最近项目需求制作一个场景的远景部分.正好可以尝试使用一下UE4的 Landscape.不过直接在 Editor 里刷地形工作量太大,刷出的地形也不真实,最关键的是 Landscape 的工具并不是那么 ...
- geoserver使用curl发布 imagemosaic
1.//create workspace curl -v -u admin:geoserver -XPOST -H "Content-type: text/xml" -d ...
- NC 单据保存时间过长,判断数据库锁表解决办法
SELECT s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.o ...
- IP地址子网掩码主机地址网络号主机号
(1)子网掩码1所对应的位为网络号位 而所对应的位为主机号位 IP地址+子网掩码=网络号: IP地址+子网掩码(反码)=主机号. (2)主机号中的m位被用来表示网络号了,也就是子网号,将0-255划分 ...
- css总集
1 font-style normal 正常显示 italic 斜体 百分比 字体大小 font-size 像素 字体大小 font-family 字体名称 设置字体名称 letter-spacing ...