PHP 安装RabbitMQ操作指南

RabbitMQ是一个实现了AMQP高级消息队列协议的消息队列服务,用Erlang语言编写的。
为什么选择RabbitMQ?
类似的还有ActiveMQ ZeroMQ Appche Qpid
除了Qpid,RabbitMQ是唯一一个实现了AMQP标准的消息服务器。
可靠性强,支持持久化,保证稳定性
具有高并发和高可用特性【Erlang是为电话交换机开发的语言,天生自带高并发光环】
集群部署简单
社区活跃程度高
一、安装Erlang
1、安装依赖:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
2、安装其他:yum -y install ncurses-devel unixODBC-devel
3、下载erlang并解压:
wget http://erlang.org/download/otp_src_20.0.tar.gz
chmod +x otp_src_20.0.tar.gz
tar -xzvf otp_src_20.0.tar.gz
4、编译安装:
cd otp_src_20.0/
./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac //不用java编译,故去掉java避免错误
make && make install //编译后安装
5、配置环境:
vi /etc/profile
#在文件末尾添加下面代码
-------------------------------------------------------------
ERL_HOME=/usr/local/erlang
export PATH= var PATH: var ERL_HOME/bin
---------------------------------------------------------------------
#使环境变量生效
source /etc/profile
6、输入命令检验是否安装成功
erl
------------------------------------------------------------------------------
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.0  (abort with ^G)
--------------------------------------------------------------------------------
[提示:一是完整的GCC编译器环境;二是Ncurses开发库]

二、安装rabitmq
1、安装依赖:yum -y install xmlto
2、下载解压:
wget http://www.rabbitmq.com/releases/rabbitmq-server/current/rabbitmq-server-generic-unix-3.6.15.tar.xz
chmod +x rabbitmq-server-generic-unix-3.6.15.tar.xz
xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
【说明:xz格式的压缩包是利用LZMP算法的一种无损数据的压缩格式,在linux中较为常见,解压命令为xz -d 】
3、rabbit 无需编译安装
4、配置启动:
a、开启管理页面插件
mv rabbitmq_server-3.6.10/ /usr/local/rabbitmq
cd /usr/local/rabbitmq/sbin/
./rabbitmq-plugins enable rabbitmq_management
b、配置环境变量
vi /etc/profile
#在文件末尾添加下面代码
RMQ_HOME=/usr/local/rabbitmq
export PATH= P A T H : PATH: PATH:RMQ_HOME/sbin
c、使环境变量生效
source /etc/profile
d、启动rabbitmq
rabbitmq-server
e、关闭服务
rabbitmqctl stop
f、添加用户【对于rabbitmq的guest用户无法访问控制台的问题,是因为rabbitmq做了安全措施,禁止guest登陆控制台。需要我们自己创建用户进行登陆】
1、执行添加用户命令 rabbitmqctl add_user rabbitadmin 123456
2、执行设置权限命令 rabbitmqctl set_permissions -p / rabbitadmin “." ".” “.*”
3、执行设置角色命令 rabbitmqctl set_user_tags ad administrator
4、执行查看用户命令 rabbitmqctl list_users
---------------------------------------------------------------------------------------
Listing users
rabbitadmin [administrator]
guest [administrator]
---------------------------------------------------------------------------------------
g、然后在地址栏输入 ip:15672 就能访问rabbitmq的后台了。
h、需在阿里云配置防火墙规则,及添加端口号
三、 PHP 操作rabbitmq
1、下载rabbitmq-c包
wget https://codeload.github.com/alanxz/rabbitmq-c/tar.gz/master
2、解压
tar zxvf rabbitmq-c.tar.gz
3、安装
cd rabbitmq-c-master
yum install autoconf automake libtool
autoreconf -i
./configure --prefix=/usr/local/rabbitmq-c
(如果失败:参照
cd rabbitmq-c-0.8.0/
mkdir build && cd build #这一步是在rabbitmq-c的根目录下创建一个build子目录

            # 这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件
            # Makefile文件会被创建到build目录中
            cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..

            # 这一步是真正的build rabbitmq-c库的,注意,不要漏掉点 '.'
             cmake --build .  --target install
             到这里就已经安装完成了。不过这里有一个坑。你可以看一下/usr/local/rabbitmq-c下的目录只有include和lib64。因为后面编译安装amqp扩展的时候系统会                 到/usr/local/rabbitmq-c/lib目录下搜索依赖库,导致错误。所以这里需要加一步:
            ln -s lib64 lib		
	)
	------------------------------------------------------------------------------------
	rabbitmq-c build options:
	Host: x86_64-unknown-linux-gnu
	Version: 0.8.0
	SSL/TLS: openssl
	Tools: yes
	Documentation: no
	Examples: yes
	---------------------------------------------------------------------------------------------
	返回以上内容正常
4、编译
make && make install
5、下载amqp的包
wget https://pecl.php.net/get/amqp-1.8.0.tgz
6、cd amqp-* 执行该命令 phpize
---------------------------------
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
---------------------------------
7、如果没有则安装
yum install php-devel
8、编译
/usr/local/php-7.0.5/bin (php7.0路径)
./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c/
9、安装
make && make install
10、添加扩展
vim /etc/php.ini
[rabbitmq]
extension=amqp.so
11、重启服务器或者php-fpm
# /bin/systemctl restart nginx.service
# /bin/systemctl restart php-fpm.service
sudo service php-fpm restart

//服务器端编写以下代码就能正常输出了
<?php
	  $cnn = new AMQPConnection();
	  $cnn->setHost('127.0.0.1');
	  $cnn->setLogin('rabbitadmin');
	  $cnn->setPassword('123456');
	  if($cnn->connect()){
	        echo '连接成功';
	   }
	?>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值