博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos7 手动编译 RabbitMQ ,并安装php amqp
阅读量:5236 次
发布时间:2019-06-14

本文共 3268 字,大约阅读时间需要 10 分钟。

 

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 socatyum -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.xztar xvJf rabbitmq-server-generic-unix-3.7.8.tar.xzmv rabbitmq_server-3.7.8/ /usr/local/rabbitmq #解压后移动到你想放到的目录

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

 

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

vi /etc/profileexport 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 --permanentfirewall-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.gztar -zxvf rabbitmq-c-0.8.0.tar.gzcd rabbitmq-c-0.8.0./configure --prefix=/usr/local/rabbitmq-cmake && make install

php安装amqp扩展

下载地址https://pecl.php.net/package/amqp

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

然后在php.ini加上

vi /usr/local/php/etc/php.iniextension = amqp.so

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

systemctl restart php-fpmphp -m

 

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

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

转载于:https://www.cnblogs.com/-mrl/p/11083981.html

你可能感兴趣的文章
RQNOJ八月赛
查看>>
前端各种mate积累
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>
name phone email正则表达式
查看>>
721. Accounts Merge
查看>>
「Unity」委托 将方法作为参数传递
查看>>
重置GNOME-TERMINAL
查看>>
redis哨兵集群、docker入门
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
oracle中anyData数据类型的使用实例
查看>>
C++对vector里面的元素排序及取任意重叠区间
查看>>
软件测试——性能测试总结
查看>>
12.4站立会议
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
客户端访问浏览器的流程
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>