CentOS7 安装Apache ActiveMQ Artemis

下载

    官网:https://activemq.apache.org/components/artemis/

    我选择的版本:ActiveMQ Artemis 2.9.0 (June 6, 2019)

    http://mirror.bit.edu.cn/apache/activemq/activemq-artemis/2.9.0/apache-artemis-2.9.0-bin.tar.gz

 

安装

    #解压到/opt目录下

    sudo tar -zxvf apache-artemis-2.9.0-bin.tar.gz -C /opt/

    Artemis 的目录结构

     |___ bin                        #运行ActiveMQ Artemis所需的二进制文件和脚本
     |
     |___ examples                   #所有的示例都放在这个目录下
     |      |___ common
     |      |___ features
     |      |___ perf
     |      |___ protocols
     |
     |___ lib                        #运行ActiveMQ Artemis所需的jar和库
     |      |___ client
     |
     |___ schema                     #存放用于验证ActiveMQ Artemis的XML配置文件
     |
     |___ web                        #代理运行时加载web上下文的文件夹
            |___ api                 #API文档
            |___ hacking-guide
            |___ migration-guide
            |___ user-manual         #用户手册

 

创建Broker实例

Broker实例是包含与Broker进程关联的所有配置和运行时数据(如日志和数据文件)的目录。

官网文档建议我们不要在${ARTEMIS_HOME}下创建实例目录。鼓励这种分离,以便在ActiveMQ Artemis的下一个版本发布时更容易升级。

    cd /var/lib/

    /opt/apache-artemis-2.9.0/bin/artemis create mybroker

然后控制台会让我们填写默认用户名、密码、是否允许匿名登录

CentOS7 安装Apache ActiveMQ Artemis_第1张图片

我们会看到,在/var/lib目录下,为我们生成了mybroker目录,按照官方文档,我们看一下实例下的几个主要目录

     ├── bin            #保存与此实例关联的执行脚本
     ├── data           #保存用于存储持久消息的数据文件
     ├── etc            #保存实例配置文件
     ├── lib
     ├── lock 
     ├── log            #保存旋转日志文件
     └── tmp            #保存可以在代理运行期间安全删除的临时文件

 

启动和停止实例

我们看到在控制台已经提示我们
    您现在可以通过执行以下命令启动代理:
    "/var/lib/mybroker/bin/artemis" run
    或者您可以使用以下命令在后台运行代理:
    "/var/lib/mybroker/bin/artemis-service" start

我们使用后台运行执行下

    /var/lib/mybroker/bin/artemis-service start

看到控制台输出,启动成功

    Starting artemis-service
    artemis-service is now running (64858)

   

访问控制台

根据官方文档所述,我们可以通过使用浏览器访问URL http://localhost:8161/console 来使用控制台.

这里埋了个坑,我使用http://<服务器IP>:8161/console的URL地址确无法访问... 看了一下官方文档,原来是这样:

CentOS7 安装Apache ActiveMQ Artemis_第2张图片

    大概的意思是说:Jolokia JMX-HTTP桥接是通过代理配置目录中的策略文件“etc/Jolokia -access.xml”来保护的。该文件的内容应该按照Jolokia安全指南中的描述进行修改。默认情况下,控制台被锁定为“localhost”,在通过网络公开控制台web端点时,要特别注意“CORS”限制。

    好的,我们来netstat看一下是不是这个问题造成的

    netstat -anpt |grep 64858

    控制台如下,原来如此,找到原因了!

    1)修改 etc/Jolokia -access.xml,添加一条allow-origin的访问权限设置

    参考Jolokia 文档 https://jolokia.org/reference/html/security.html#d0e2905



    
        
        *://localhost*
        *://192.168.20.65*

        
        
        
    

    2)修改etc/bootstrap.xm,localhost改为服务器的ip



   

   
   

   
   
       
       
       
   

    3)重启一下broker实例

    /var/lib/mybroker/bin/artemis-service restart

    我们再来netstat看一下

CentOS7 安装Apache ActiveMQ Artemis_第3张图片

    然后我们在浏览器中尝试下,发现成功了,好开心呀,有木有!

CentOS7 安装Apache ActiveMQ Artemis_第4张图片

你可能感兴趣的:(Linux)