Centos7 下安装 ActiveMQ

Centos7 下安装 ActiveMQ

古有千文义,须知学后通

今天开始学习使用 ActiveMQ,学习之前,我们在服务器上部署 ActiveMQ。

准备环境

  • Centos 7
  • JDK 8
  • activemq 5.15.11

下载地址

作者推荐从官网下载。

直接下载地址

操作步骤

接下来就是安装 activemq 了。

获取 activemq

可以直接点上面的下载地址,然后通过 FTP 工具上传到服务器。(FileZilla等)

也可以通过 wget 工具在服务器上操作。

wget http://mirror.bit.edu.cn/apache//activemq/5.15.11/apache-activemq-5.15.11-bin.tar.gz

如果服务器上面没有wget 指令,可以通过yum -y install wget安装 wget

解压

我们将 activemq安装到 /var目录下

## 首先解压到 /var 目录
tar -xvf apache-activemq-5.15.11-bin.tar.gz -C /var
## 再将 apache-activemq-5.15.11 重命名
mv /var/apache-activemq-5.15.11 /var/activemq

ActiveMQ 的启动和停止

首先我们进入安装目录:/var/activemq

启动服务: ./bin/activemq start

启动ActiveMQ

停止服务: ./bin/activemq stop

停止ActiveMQ

将 ActiveMQ 做成系统服务

  1. 首先创建一个 systemd 服务文件: vi /usr/lib/systemd/system/activemq.service

  2. 在文件中写入一下内容:

[Unit]
Description=ActiveMQ service
After=network.target

[Service]
Type=forking
ExecStart=/var/activemq/bin/activemq start
ExecStop=/var/activemq/bin/activemq stop
User=root
Group=root
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=activemq

[Install]
WantedBy=multi-user.target
  1. 找到 java 命令所在的目录:whereis java

找到Java命令

  1. 设置 activemq 配置文件 /var/activemq/bin/env中的JAVA_HOME
# Location of the java installation
# Specify the location of your java installation using JAVA_HOME, or specify the
# path to the "java" binary using JAVACMD
# (set JAVACMD to "auto" for automatic detection)
JAVA_HOME=" /var/java/jdk1.8.0_241"
JAVACMD="auto"
  1. 通过 systemctl 管理 activemq 启停
  • 启动activemq服务: systemctl start activemq
  • 查看服务状态: systemctl status activemq

如果想要开机自启,可以运行如下命令:

  • 创建软件链接:ln -s /usr/lib/systemd/system/activemq.service /etc/systemd/system/multi-user.target.wants/activemq.service
  • 开机自启: systemctl enable activemq
  • 检测是否开启成功(enable): systemctl list-unit-files |grep activemq

防火墙配置

如果我们远程访问,有可能会有防火墙的问题,我们可以通过下面的名关闭防火墙。

防火墙配置,ActiveMQ 的 Web管理端口默认为8161(admin/admin),通讯端口默认为61616

  1. 添加并重启防火墙
firewall-cmd --zone=public --add-port=8161/tcp --permanent
firewall-cmd --zone=public --add-port=61616/tcp --permanent
systemctl restart firewalld.service
  1. 也可以直接选择关闭防火墙: systemctl stop firewalld.service

配置 web 管理系统

ActiveMQ 的 Web 管理系统的配置文件在:/var/activemq/conf

修改端口

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
  <!-- the default port number for the web console -->
  <property name="host" value="0.0.0.0"/>
  <!--此处即为管理平台的端口-->
  <property name="port" value="8161"/>
</bean>

关闭登录

<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
  <property name="name" value="BASIC" />
  <property name="roles" value="user,admin" />
  <!-- 改为false即可关闭登陆 -->
  <property name="authenticate" value="true" />
</bean>

其他配置

其他配置文件在:/var/activemq/conf/jetty-realm.properties

## ---------------------------------------------------------------------------
# 在此即可维护账号密码,格式:
# 用户名:密码,角色
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
admin: admin, admin
user: 123, user

上面就是我在 Centos7 下安装 ActiveMQ 的基本过程,没有遇到什么问题。如果有笔者遇到了什么问题,可以在评论区留言,大家一起讨论。

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://baozi.fun/2020/02/19/centos7-install-activemq

Buy me a cup of coffee ☕.