您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
linux下部署php+activeMQ
发布时间:2018-12-30 22:27:56编辑:雪饮阅读()
前番写过一篇windows下部署php+activeMQ文章,一直想再写篇linux部署php+activeMQ的文章,直到今天放假才有空。
附件:
jdk-8u191-linux-x64.rpm
链接:https://pan.baidu.com/s/1VNwtvqyyPbVqOscHEeNTlg
提取码:dwsa
复制这段内容后打开百度网盘手机App,操作更方便哦
apache-activemq-5.14.0-bin.tar.gz
链接:https://pan.baidu.com/s/1bklV9si2h1JiUefoUBOrBA
提取码:igvk
复制这段内容后打开百度网盘手机App,操作更方便哦
stomp-1.0.9.tgz
链接:https://pan.baidu.com/s/1diPyzJ8m3LD7Jtw_xjlrAQ
提取码:2eba
复制这段内容后打开百度网盘手机App,操作更方便哦
环境:
宝塔5.9.1
CentOS Linux 7.3.1611 (Core)
PHP 5.5.38 (cli) (built: Jun 5 2017 17:23:15)
安装jdk
将jdk-8u191-linux-x64.rpm上传到操作系统中直接执行命令“rpm -ivh jdk-8u191-linux-x64.rpm”
即可完成jdk的安装,这种方式安装最简单,连环境变量都不用配置。
安装activeMQ
上传apache-activemq-5.14.0-bin.tar.gz到操作系统并解压,然后执行命令:
"/usr/local/src/apache-activemq-5.14.0/bin/linux-x86-64/start"
然后在宝塔面板上放行默认的web后端控制面板所用端口8161,最后访问如http://192.168.43.219:8161,默认会进入面板首页,若要登录面板后台,默认账号是admin/admin
若想更改默认密码可在配置文件如"/usr/local/src/apache-activemq-5.14.0/conf/jetty-realm.properties"中配置,配置语法在该配置文件中有示例意指:
用户名,明文密码,角色名。
php集成activeMQ
上传stomp-1.0.9.tgz扩展到操作系统并解压进入解压后目录中执行命令如:/www/server/php/55/bin/phpize
编译
./configure --with-php-config=/www/server/php/55/bin/php-config
make
加入到配置文件:
vi /www/server/php/55/etc/php.ini
找到以.so结尾的配置项在其后新增一条如:
extension=/usr/local/src/stomp-1.0.9/modules/stomp.so
然后重启php在phpinfo中能够看到如下即可:
php实现mq的推送与接收
在宝塔面板中放行端口61613并分别编写推送与接收脚本如:
pub.php:
<?php
$queue = 'liyang';
$msg = 'bar';
try {
$stomp = new Stomp('tcp://127.0.0.1:61613');
while (true) {
$stomp->send($queue, $msg." ". date("Y-m-d H:i:s"));
sleep(1);
}
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
sub.php:
<?php
$queue = 'liyang';
try {
$stomp = new Stomp('tcp://127.0.0.1:61613');
$stomp->subscribe($queue);
while (true) {
if ($stomp->hasFrame()) {
$frame = $stomp->readFrame();
if ($frame != NULL) {
print "Received: " . $frame->body . " - time now is " . date("Y-m-d H:i:s"). "\n";
$stomp->ack($frame);
}
} else {
print "No frames to read\n";
}
}
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
然后分别开启一个推送的会话窗口与接收会话窗口并命令行形式分别执行php脚本如下效果即为成功:
关键字词:linux,php,activeMQ