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版本不一致,应该换一个版本

posted on 2019-12-17 12:59  lbnnbs  阅读(298)  评论(0编辑  收藏  举报