rabbitmq Server安装

rabbitmq server安装很简单。

  1. 安装erlang环境 rpm -ihv erlang-18.1-1.el6.x86_64.rpm
  2. rpm -ihv rabbitmq-server-3.6.12-1.el6.noarch.rpm
  3. 启动 /sbin/service rabbitmq-server start
  4. 一些常用命令
    rabbitmqctl start_app  #启动rabbitmq
    rabbitmqctl stop_app #关闭rabbitmq
    rabbitmqctl reset #重置rabbitmq队列
    rabbitmqctl list_queues #查看rabbitmq中队列
    rabbitmqctl list_exchanges #查看rabbitmq中的交换机 

rabbitmq php扩展

这就有点费事啦。先说整体过程

安装rabbit-c


下载:https://github.com/alanxz/rabbitmq-c/releases 这里我下载了v0.8.0版本

安装过程

tar -zxvf rabbitmq-c-0.8..tar.gz
cd rabbitmq-c-0.8.
yum install libtool autoconf #这里是我进行下一步报错,需要安装autoconf
autoreconf -i
./configure --prefix=/usr/local/rabbitmq-c
make && make install

安装amqp


去php pcel官网下载php扩展amqp,注意要与php版本相匹配,我的是php7.0.11,这里我选择了1.9.1版本。

安装过程:

tar & cd 解压&&进入目录 这里就不废话了
phpize 这里要找到phpize绝对路径
./configure --with-php-config=/home/map/odp_warehouse/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c #这里的rabbitmq-c路径是上一步安装的路径
make && make install

最后得到so文件路径。写入php.ini

extension=amqp.so

(由于我php.ini指定了extend_dir。所以直接写文件名就好啦)

测试

phpinfo()查看 如下代表安装成功啦!

php -r "phpinfo();" | grep amqp

安装过程问题与解决办法:


1. 在编译rabbit-c时提示 libssl.so.1.0.0需要被依赖,但是我的系统里没有。

/usr/lib64下没有libssl.so.1.0.0。需要安装

https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz

tar解压

./config shared zlib-dynamic

make 生成所需要的文件。

libssl.so.1.0.0 libcrypto.so.1.0.0 将两个文件拷贝到/usr/lib64中

2. 在编译amqp提示各种错误。且不是依赖库的问题。这就应该用到老道的经验:版本不一致。

php版本跟扩展包的版本不一致!

php扩展去官网pecl下载,且扩展包一定要与 php版本匹配

php代码测试

移步下一篇RabbitMq初探——php的一个demo

RabbitMq初探——安装的更多相关文章

  1. RabbitMQ服务安装配置

    RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良 ...

  2. Erlang&RabbitMQ服务安装配置

    RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良 ...

  3. rabbitMQ第一篇:rabbitMQ的安装和配置

    在Windows下进行rabbitMQ的安装 第一步:软件安装 如果安装rabbitMQ首先安装基于erlang语言支持的OTP软件,然后在下载rabbitMQ软件进行安装(安装过程都是下一步,在此不 ...

  4. Linux下 RabbitMQ的安装与配置-3

    一  Erlang安装 1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境. 从Erlang的官网http://www.erlang.org/download.html 下载最 ...

  5. 【linux环境下】RabbitMq的安装和监控插件安装

    [注意安装过程中,提示某些命令not found,直接yum isntall一下就好了] 以下是我在CentOS release 6.4下亲测成功的. RabbitMq的安装:   RabbitMQ是 ...

  6. 【windows环境下】RabbitMq的安装和监控插件安装

    RabbitMq的安装: RabbitMQ是基于Erlang的,所以必须先配置Erlang环境. 下载Erlang,地址:http://www.erlang.org/download/otp_win3 ...

  7. gcc, numpy, rabbitmq等安装升级总结

    1. 公司在下面目录安装了gcc-4.8.2,以支持c++11,可以通过在bashrc中添加来实现: PATH=/opt/compiler/gcc-4.8.2/bin:$PATH 2. 公司环境切换到 ...

  8. Linux下 RabbitMQ的安装与配置

    以下教程摘录自互联网并做了适当修改,测试的rabbitmq 版本为:rabbitmq-server-generic-unix-3.5.6 各版本之间会有差异!!! 一  Erlang安装 Rabbit ...

  9. Linux rabbitmq的安装和安装amqp的php插件

    RabbitMQ是一个消息代理.它的核心原理非常简单:接收和发送消息.你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处.在这个比喻中,RabbitMQ是一个邮箱.邮局.邮 ...

随机推荐

  1. MySQL数据库篇之完整性约束和表关系

    主要内容: 一.完整性约束 二.表关系 1️⃣ 完整性约束 (1)何为完整性约束? 约束条件与数据类型的宽度一样,都是可选参数. 作用:用于保证数据的完整性和一致性 (2)分类主要有以下五类: 1.n ...

  2. if UNITY_EDITOR这个判断常用,还有哪个常用捏?

    #if DEVELOPMENT_BUILD || UNITY_EDITOR DEVELOPMENT_BUILD表示开发版的意思,会在程序右下角显示 Development Build 我们可以根据这个 ...

  3. Hibernate多对多操作

    ---------------------siwuxie095 Hibernate 多对多操作 以用户和角色为例 (一)多对多映射配置 第一步:创建两个实体类,用户和角色 第二步:让两个实体类之间互相 ...

  4. [c++] polymorphism without virtual function

    polymorphism without virtual function

  5. C#读取EXCEL到内存

    public class ExcelUtils { private static string strcon = "Server=48.12.1.28;initial catalog=NBS ...

  6. mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明

    mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明 摘自:https://blog.csdn.net/weixin_43025071/article/ ...

  7. input框添加阴影效果

    .input:hover,.input:focus{ border:1px solid #85afe1; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0 ...

  8. HUST软件测试1504班: 第0周作业成绩

    说明 本次公布的成绩包含三次作业的结果: 毕博平台课前测试题 第0周作业1:开设博客 第0周作业2:博客阅读和思考 如果同学对作业结果存在异议,可以: 在线平台的第一周在线答疑中创建话题申诉. 或直接 ...

  9. JS作用域理解(声明提升)

    1.JS解析步骤: a.预解析 将变量声明提升: 将函数声明及函数内容提升,可以理解成原来位置的函数在解析代码时已经提到代码初始位置: 块内的变量声明和函数声明也会被提升,例如if语句 遇到重名,只留 ...

  10. libevent学习

    libevent是一个开源的事件控制机制,如果不想陷入多进程或多线程的困扰,那么libevent将是很合适的工具. libevent提供了很多的API来管理和控制事件,可用于设计读.写.信号.定时等各 ...