一、安装Java
在https://www.oracle.com/java/technologies/downloads/找到最新的版本,比如
https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.tar.gz
2.1 新建一个目录,比如
/opt/Java
2.2 cd到这个目录,并下载最新版本
wget https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.tar.gz
2.3 解压
tar zxvf
jdk-20_linux-x64_bin.tar.gz
完成后,会得到一个目录 /opt/Java/jdk-20.0.2
2.3 修改环境变量
打开文件:/etv/profile
在文件头添加如下配置
JAVA_HOME=/opt/Java/jdk-20.0.2
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
2.4 重新加载配置文件
source /etc/profile
2.5 查看是否配置成功
java -version
三、安装ActiveMQ
3.1 必须安装和配置java环境
3.2 新建文件夹/opt/activeMQ
3.3 在/opt/activeMQ目录下,下载最新版
https://mirrors.aliyun.com/apache/activemq/查询最新版URL
wget https://mirrors.aliyun.com/apache/activemq/5.18.2/apache-activemq-5.18.2-bin.tar.gz?spm=a2c6h.25603864.0.0.621b779amLJjVd
3.4 解压
tar zxvf
apache-activemq-5.18.2-bin.tar.gz
3.5 配置用户
需要修改配置的文件:"apache-activemq-5.18.2\conf\activemq.xml"
plugins的配置在</broker>里面追加配置:
<plugins>
<simpleAuthenticationPlugin anonymousAccessAllowed="true">
<users>
<authenticationUser username="userForCollector" password="123" groups="collector"/>
<authenticationUser username="userForServer" password="123" groups="server"/>
</users>
</simpleAuthenticationPlugin>
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
<authorizationEntry topic=">" read="admins" write="admins" admin="admins" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="all,collector,server" write="all,collector,server" admin="all,collector,server"/>
<authorizationEntry topic="field.dataFromServer.>" read="admins,collector" write="admins,server" admin="admins,collector,server"/>
<authorizationEntry topic="field.dataFromCollector.>" read="admins,server" write="admins,collector" admin="admins,collector,server"/>
</authorizationEntries>
<tempDestinationAuthorizationEntry>
<tempDestinationAuthorizationEntry read="admin" write="admin" admin="admin"/>
</tempDestinationAuthorizationEntry>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
修改activmq环境配置文件(此步骤相当重要,否则会导致后面activemq开机自启动错误):
/opt/activeMQ/apache-activemq-5.18.2/bin/evn
JAVA_HOME="/opt/Java/jdk-20.0.2"
3.6 启动
./activemq stop
启动成功以后,可以拿以下命令验证端口
netstat -nl|grep 61616
netstat -nl|grep 1883
3.7 停止
./activemq stop
如果是网络云服务器,需要在安全组里面开通1883端口,才能从外部使用mqtt服务。
3.8 加入到Linux自启动里面
在/etc/systemd/system目录下,新建一个activemq.service文件,文件内容如下:
[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/opt/activeMQ/apache-activemq-5.17.1/bin/activemq start
ExecStop=/opt/activeMQ/apache-activemq-5.17.1/bin/activemq stop
[Install]
WantedBy=multi-user.target
执行如下命令
sudo systemctl daemon-reload && sudo systemctl start activemq
sudo systemctl enable activemq
查看执行结果
sudo systemctl status activemq
还有一种方法,建立一个专用的账户来运行activemq,参见:
https://vitux.com/how-to-install-apache-activemq-on-ubuntu/