ActiveMq Artemis安装

java 发表时间:2022-04-25 13:32:02 作者:梁子亮 浏览次数:987

首先检查linux服务器的java以及javac是否正常,可以通过java -version,javac -version或者which java ,which javac查看

若发现java -version但没有javac -version,则

yum -y install java-1.8.0-openjdk-devel

上官网(https://activemq.apache.org/components/artemis/download)下载ActiveMQ Artemis 2.19.1 (Feb 1st, 2022),apache-artemis-2.19.1-bin.zip(注意:若下载“ActiveMQ Artemis 2.21.0 (Mar 28th, 2022)”版编译时可能报啥错has been compiled by a more recent version of the Java Runtime (class file version 56.0),即意思就是编译时使用了56.0版本,执行时的JDK/JRE使用了52.0版本,可以升级jdk,或者编译artemis时使用当前的jdk版本来编辑,具体未试过不知可行性。所以我们直接使用apache-artemis-2.19.1-bin.zip版)

把zip包上传到服务器上,然后解压

tar zxvf apache-artemis-2.19.1-bin.tar.gz

进入目录

cd apache-artemis-2.19.1/

设置环境变量

vim /etc/profile

在文件最后面添加以下两行(注意:export PATH=$PATH:后面的“$PATH:”不能删掉,会有一堆报错例如vim,source命令全部失效,谨慎)

export ARTEMIS_HOME=/root/apache-artemis-2.19.1
export PATH=$PATH:$ARTEMIS_HOME/bin

刷新一下环境变量

source /etc/profile

创建数据目录,我们可以在当前目录下使用当前目录的bin目录下的artemis命令,或者直接使用全局环境变量设置好的artemis名利创建数据目录

第1种方法,在当前安装目录下

./bin/./artemis create jms-data

第2种方法,在任意目录下

artemis create jms-data

执行以上命令后,会创建账户(我们输入admin)和密码(我们输入**********),以及设置是否允许匿名登录(我们输入N,不允许匿名登录)

完成以上后,会在当前目录生成jms-data目录,可以使用以下两种方法运行artemis

第1种方法:进入jms-data目录的bin目录

cd jms-data/bin

执行run启动artemis(ctrl+c后会终止进程)

./artemis run

第2种方法:进入jms-data目录的bin目录

cd jms-data/bin

执行start启动artemis(ctrl+c后不会终止进程)

./artemis-service start


此时,要想进入后台,默认只允许http://localhost:8161/console方式进入,若想开发所有ip均可访问后台,则需要

1、开放阿里云运行所有ip访问8161端口

2、关闭服务器防火墙

systemctl start firewalld

或者开启服务器的8161防火墙访问

firewall-cmd --zone=public --add-port=8161/tcp --permanent

记得开启服务器的某个防火墙后重启一下

firewall-cmd --reload

3、修改apache-artemis-2.19.1/jms-data/etc目录下的bootstrap.xml文件,把bind地址由默认的http://localhost:8161修改为0.0.0.0,如下

<web bind="http://0.0.0.0:8161" path="web">

4、修改apache-artemis-2.19.1/jms-data/etc目录下的jolokia-access.xml文件,把cors下默认的<allow-origin>*://localhost*</allow-origin>修改为*,如下

 <allow-origin>*</allow-origin>

完成以上配置后重新启动artemis,通过访问后台地址:“服务器ip地址:8161/console”即可通过账户admin,密码 *******登录后台


要使用java程序来发送jms到activeMq artemis,要注意:

1、开放阿里云运行所有ip访问61616端口

2、关闭服务器防火墙

systemctl start firewalld

或者开启服务器的61616防火墙访问

firewall-cmd --zone=public --add-port=61616/tcp --permanent

记得开启服务器的某个防火墙后重启一下

firewall-cmd --reload

3、程序中jms连接地址使用tcp://并不是使用http://

jms.uri=tcp://**.**.**.**:61616
jms.username=admin
jms.password=********