zoukankan      html  css  js  c++  java
  • Centos7 手动编译 RabbitMQ ,并安装php amqp

    RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统,底层基于Erlang语言。

    一:centos7安装RabbitMQ

    这玩意儿安装很扯淡,官方推荐rpm安装,rpm安装本身是最简单的,但是安装RabbitMQ却不简单,很可能需要修改仓库地址。不同linux版本不一样,centos6和centos7也不一样。我这里不用rpm,手动编译Erlang,然后选择编译好的RabbitMQ。

    1:安装Erlang

    1):先安装几个必要的插件

    yum -y install gcc glibc-devel make ncurses-devel openssl-devel autoconf unixODBC unixODBC-devel socat
    yum -y install wget

    2):Erlang下载地址:http://www.erlang.org/downloads,我这里下载21.1版本

    cd /usr/local/src/
    wget http://erlang.org/download/otp_src_21.1.tar.gz #下载
    tar -xvf otp_src_21.1.tar.gz #解压
    ./configure --prefix=/usr/local/erlang --without-javac #忽略java编译
    make && make install #编译&&安装

     make && make install 这两步很慢,巨慢无比,耐心等待。

    3):进入我们安装后的目录测试一下是否安装成功

    /usr/local/erlang/bin/erl  #用halt().退出,注意后面的点号,那是erlang的结束

    安装成功

    二:安装rabbitmq

    1:下载地址:http://www.rabbitmq.com/download.html

    2:因为我上面的Erlang是手动编译的,所以这里不选择rpm方式安装,直接下载解压包,从这里下载:https://github.com/rabbitmq/rabbitmq-server/releases

    cd /usr/local/src/
    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz
    tar xvJf rabbitmq-server-generic-unix-3.7.8.tar.xz
    mv rabbitmq_server-3.7.8/ /usr/local/rabbitmq #解压后移动到你想放到的目录

    这个是编译好的,可以直接用。

    3:设置环境变量,设置两个,一个是Erlang,一个是rabbitmq,打开文件/etc/profile文件,在文件最后加入以下三行:

    vi /etc/profile
    export PATH=$PATH:/usr/local/erlang/bin #erlang安装目录
    export PATH=$PATH:/usr/local/rabbitmq/sbin #rabbitmq安装目录

    运行命令生效:

    source /etc/profile

    启动一下:

    rabbitmq-server start

    成功

    启动web管理后台:

    rabbitmq-plugins enable rabbitmq_management #disable为关闭

    开启防火墙,打开15672端口(启动成功后,访问控制台界面,前提是linux需要关闭防火墙,或者开启15672端口,否则控制台界面无法访问,如果在云服务器开启15672端口即可【关闭iptables防火墙:service iptables stop】

     firewall开启防火墙端口方法

    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    firewall-cmd --reload #重启防火墙

    iptables开启防火墙端口方法

    iptables -A INPUT -p tcp --dport 15672 -j ACCEPT #添加15672端口
    iptables -L -n  #看下 是否添加上去, 看到添加了

    或者

    vi /etc/sysconfig/iptables
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT   //添加命令行
    
    service iptables restart  //重启防火墙

    web界面出来了

    guest用户被限制,只能通过127.0.0.1访问,当然也可以修改配置文件开启guest远程访问。这里我们新建一个用户,并授予管理员权限。
    用户名:admin 密码:123

    rabbitmqctl add_user admin 123 #添加用户
    rabbitmqctl set_user_tags admin administrator #分配角色

    登录成,登录之后为了安全可以切换到【admin】选项卡,把默认的guest用户删除

    相关命令:命令在/usr/local/rabbitmq/sbin下

    rabbitmq-server -detached #后台启动
    rabbitmqctl stop #关闭服务
    rabbitmqctl status #查看状态
    rabbitmqctl list_users #列出角色

    三:安装php扩展(我用的php7.2版本)

    安装amqp扩展前需要安装rabbitmq-c,这里我是选择的0.8.0版本,0.9.0编译模式换成CMake。
    下载地址:https://github.com/alanxz/rabbitmq-c

    cd /usr/local/src/
    wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
    tar -zxvf rabbitmq-c-0.8.0.tar.gz
    cd rabbitmq-c-0.8.0
    ./configure --prefix=/usr/local/rabbitmq-c
    make && make install

    php安装amqp扩展
    下载地址https://pecl.php.net/package/amqp

    cd /usr/local/src/
    wget https://pecl.php.net/get/amqp-1.9.3.tgz
    tar -zxf amqp-1.9.3.tgz
    cd amqp-1.9.3
    phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
    make && make install

    然后在php.ini加上

    vi /usr/local/php/etc/php.ini
    extension = amqp.so

    重启php打印phpinfo();或者linux系统使用php -m命令查看可以看到amqp安装成功

    systemctl restart php-fpm
    php -m

    扩展安装成功,这时候就可以用PHP操作RabbitMQ了。

    安装的AMQP扩展新旧版本有一些区别。主要体现在exchange和queue中有个declare的方法,新版分别更改成declarExchange()和declarQueue().

  • 相关阅读:
    Spring 事务管理
    16.04更新源
    idea操作git远程回滚到某个提交节点或某个版本
    pip下载速度慢、pip下载超时解决方案:更换pip下载源
    IntelliJ IDEA激活和配置
    docker中启动nginx
    Docker推送镜像到阿里云仓库
    docker使用Dockerfile制作tomcat镜像(实际操作没有问题)
    Linux CentOS7中端口的操作
    promiseAll使用
  • 原文地址:https://www.cnblogs.com/-mrl/p/11083981.html
Copyright © 2011-2022 走看看