activemq需要java运行环境,下载安装jdk,版本8,对应1.8版本的java运行环境
下载ActiveMQ
http://activemq.apache.org/components/classic/download/
解压,进入bin目录,启动
./activemq start
ActiveMQ使用jetty作为web服务器,默认运行在8161端口(可以在/ACTIVEMQ_HOME/conf/jetty.xml中配置)
管理控制台账户密码默认都是admin(可以在/ACTIVEMQ_HOME/conf/jetty-realm.properties中配置,格式为用户名: 密码, 角色名)
访问地址:
http://<YOUR_IP>:8161/admin/
ActiveMQ 在61613端口监听Stomp协议的连接
持久化
编辑conf目录内的activemq.xml文件,找到persistenceAdapter并启用即可,也可以使用其他数据库作为持久化存储,比如MySQL
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" persistent="true"> # persistent 默认就是true
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
启用访问授权,在broker节添加如下配置
<!-- 添加访问ActiveMQ的账号密码 -->
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="test" password="123456" groups="users,admins"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
下载stomp-php组件:
https://github.com/stomp-php/stomp-php
使用示例:
https://github.com/stomp-php/stomp-php-examples
或者安装php的stomp扩展
http://pecl.php.net/package/stomp
下载解压,进入目录
/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
编辑php.ini文件,添加扩展
extension=stomp.so
重启php-fpm
如果报错
Starting php-fpm: [23-Feb-2021 10:54:43] NOTICE: PHP message: PHP Warning: PHP Startup: Stomp: Unable to initialize module
Module compiled with module API=20170718 #这个是安装的stomp对应需要的php版本
PHP compiled with module API=20160303 #这个是当前php的版本,这个php版本应该使用stomp 2.0.1
These options need to match
in Unknown on line 0
应该是使用的stomp版本和当前的php版本不一致,应该换一个版本