Centos7ApacheActiveMQ5安装指南

查理谈科技 2024-05-10 00:10:21

Centos7 Apache ActiveMQ5

安装指南

说明:

虽然ActiveMQ目前已经不是开发时的主要消息中间件, 但是对于简单使用JMS的场景而言, ActiveMQ仍然是一个比较成熟、稳定的框架,可以供初学者、小微企业快速上手。

虽然Apache ActiveMQ目前有多种安装方式, 使用Docker 也可以快速获得本地测试环境,但是对于初学者而言, Docker 在提供方便性的同时, 也增加了Docker 技术的复杂性,对于初学者而言,并不能很好的聚焦于ActiveMQ本身。而且ActiveMQ虽然网络资源很多, 但是往往资料过于老旧,或者更多的集中于SpringBoot 和ActiveMQ的集成,对于如何把ActiveMQ安装和详细的端口配置,往往语焉不详, 对于Jetty Web管理端(admin)和具体的JMS 端口的用户密码配置,更是资料不够详细。有鉴于此,本文档可以指导用户逐步操作,只需要复制、粘贴即可,最终配置一个可以远程访问的ActiveMQ环境。

本文档提供了在CentOS7 中安装Apache ActiveMQ 5的操作指南,可以用来指导初级开发人员和企业运维人员搭建Apache MQ的开发、测试环境

目录

执行记录 - 1 -

一、 安装JDK - 2 -

1.1 目的 - 2 -

1.2 安装指南 - 2 -

1.2.1 查看系统默认java - 2 -

二、 安装ActiveMQ - 3 -

2.1 目的 - 3 -

2.1.1 创建ActiveMQ - 3 -

2.1.2 安装MQ依赖 - 4 -

2.1.3 安装ActiveMQ - 4 -

2.2 更改权限 - 4 -

2.2.1 配置ActiveMQ 服务自启动 - 5 -

2.3 ActiveMQ 配置 - 6 -

2.3.1 配置Web管理页面 - 6 -

2.3.1.1 更改jetty.xml - 6 -

2.3.2 设置访问密码 - 8 -

2.4 ActiveMQ服务器安装和配置确认 - 10 -

执行记录

编号

日期

描述

版本

执行人

审核

1

2021/11/22

ActiveMQ安装

0.1

安装JDK目的

本项目开发过程中,需要使用使用ActiveMQ,为保证项目应用运行正常,需要安装相应的JDK版本。 这里数据库采用的是JDK 1.8。

在服务器完成操作系统升级之后, 进行此项操作。

安装指南查看系统默认java

确认:

java -version

确定JDK 安装路径:

readlink -f $(which java)

使用java -version 和 javac检测如下:

如果不能成功运行javac,则需要重新安装JDK。

安装ActiveMQ目的

本章节指导安装ActiveMQ 5.16.5,请首先下载apache-activemq-5.16.5-bin.tar.gz。

创建ActiveMQ

在CentOS7 上, 创建单独的activemq账号:

sudo groupadd activemq

创建activemq组:

sudo useradd -M -s /bin/nologin -g activemq -d /usr/local/activemq activemq

安装MQ依赖安装ActiveMQ

下载安装包,并解压:使用如下命令登陆:

sudo mkdir /usr/local/activemq

sudo tar xvf apache-activemq-*tar.gz -C /usr/local/activemq --strip-components=1

配置目录权限

进入activemq目录:

cd /usr/local/activemq

授权整个Activemq目录:

sudo chgrp -R activemq /usr/local/activemq

sudo chmod -R g+r /usr/local/activemq/conf

sudo chmod g+x /usr/local/activemq/bin

通过如下命令, 验证ActiveMQ 运行:

sudo ./bin/activemq console

配置ActiveMQ 服务自启动

运行如下命令,创建服务文件:

sudo vi /etc/systemd/system/activemq.service

内容:

[Unit]

Description=ActiveMQ service

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/activemq/bin/activemq start

ExecStop=/usr/local/activemq/bin/activemq stop

User=root

Group=root

Restart=always

RestartSec=9

StandardOutput=syslog

StandardError=syslog

SyslogIdentifier=activemq

[Install]

WantedBy=multi-user.target

重新加载daemon:

sudo systemctl daemon-reload

启动:

sudo systemctl start activemq

sudo systemctl enable activemq

sudo systemctl is-enabled activemq

启动后,可以验证端口是否已占用:

sudo netstat -nl|grep 61616

ActiveMQ 配置配置Web管理页面更改jetty.xml

控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下:

ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,配置admin页面可以远程访问,修改host的值为0.0.0.0, 任意地址可以访问:

<bean id="jettyPort">

<!-- the default port number for the web console -->

<property name="host" value="0.0.0.0"/>

<property name="port" value="8161"/>

</bean>

打开conf/activemq.xml,修改broker 元素的名称,内容如下:

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="change_name" dataDirectory="${activemq.data}">

添加完成后, activemq.xml如下所示:

然后,在命令行,添加相关端口到防火墙:

sudo firewall-cmd --add-port=61616/tcp –permanent

sudo firewall-cmd --add-port=8161/tcp –permanent

sudo firewall-cmd --reload

添加完成之后,可以查询这些端口是否开放:

sudo firewall-cmd --query-port=61616/tcp

sudo firewall-cmd --query-port=8161/tcp

执行结果:

设置访问密码

针对61616的JMS访问,可以设置必要的用户名和密码。 ActiveMQ 通过JAAS 来设置认证和授权,通过login.config 文件来配置访问的用户信息。用户信息可以存在于下述文件:

users.propertiesgroups.properties

修改user.properties 文件, 根据需要更改用户信息:

同时,需要在activemq.xml中,增加验证插件:

sudo vim activemq.xml

文件内容如下:

<plugins>

<!-- Configure authentication; Username, passwords and groups -->

<simpleAuthenticationPlugin>

<users>

<authenticationUser username="system" password="${activemq.password}" groups="users,admins"/>

</users>

</simpleAuthenticationPlugin>

</plugins>

保存并重启ActiveMQ 服务。

sudo systemctl restart activemq

ActiveMQ服务器安装和配置确认

日期

描述

执行人

客户方签字

确认该服务器ActiveMQ安装操作已完成

0 阅读:0

查理谈科技

简介:感谢大家的关注