环境准备与安装
在CentOS系统中配置ActiveMQ前,需确保系统满足基本条件:

1、操作系统:CentOS 7或更高版本(推荐CentOS 8)。
2、Java环境:安装JDK 8或JDK 11,可通过java -version
验证。
3、网络配置:开放61616(默认消息端口)、8161(管理控制台端口)的防火墙权限。
步骤一:下载并解压ActiveMQ
访问apache官网获取最新稳定版ActiveMQ(例如5.17.4版本):
- wget https://archive.apache.org/dist/activemq/5.17.4/apache-activemq-5.17.4-bin.tar.gz
- tar -zxvf apache-activemq-5.17.4-bin.tar.gz -C /opt/
解压后,建议将目录重命名为activemq
以便管理:

- mv /opt/apache-activemq-5.17.4 /opt/activemq
步骤二:配置系统服务
为避免手动启动,可将ActiveMQ注册为系统服务:
1、创建服务文件:
- vim /etc/systemd/system/activemq.service
2、输入以下内容(注意修改路径):
- [Unit]
- Description=Apache ActiveMQ
- After=network.target
- [Service]
- Type=forking
- User=root
- ExecStart=/opt/activemq/bin/activemq start
- ExecStop=/opt/activemq/bin/activemq stop
- Restart=on-abort
- [Install]
- WantedBy=multi-user.target
3、重新加载服务并启动:
- systemctl daemon-reload
- systemctl start activemq
- systemctl enable activemq
步骤三:基础配置优化

ActiveMQ的配置文件位于/opt/activemq/conf/activemq.xml
,需根据实际需求调整:
1、内存分配:
修改<systemProperties>
部分,限制JVM内存使用(防止资源耗尽):
- <systemProperties>
- <property name="activemq.jvm.args" value="-Xms512M -Xmx1024M"/>
- </systemProperties>
2、持久化配置:
默认使用KahaDB存储消息,如需更高性能可切换为LevelDB或JDBC,但需注意兼容性。
3、网络监听器:
确保TCP传输配置正确(默认已启用):
- <transportConnectors>
- <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
- </transportConnectors>
步骤四:安全加固
1、管理控制台访问控制:
修改/opt/activemq/conf/jetty-realm.properties
,添加用户及角色:
- admin: adminpassword, admin
- user: userpassword, user
2、限制IP访问:
编辑/opt/activemq/conf/jetty.xml
,绑定管理控制台至内网IP:
- <property name="host" value="192.168.1.100"/>
3、启用SSL加密(可选):
生成证书并修改activemq.xml
中的传输协议为ssl
,具体步骤参考官方文档。
步骤五:验证与监控
1、检查服务状态:
- systemctl status activemq
2、访问管理界面:
通过http://服务器IP:8161/admin
登录,输入步骤四设置的用户名密码。
3、日志排查:
日志文件位于/opt/activemq/data/activemq.log
,可通过tail -f
实时监控。
常见问题处理
端口冲突:若61616或8161被占用,修改activemq.xml
和jetty.xml
中的端口号。
内存不足:调整JVM参数或检查消息堆积情况。
无法远程连接:检查防火墙规则及网络监听配置。
维护建议
定期清理无用队列、备份配置文件、监控系统资源占用,对于高并发场景,建议结合集群部署或使用更专业的消息中间件(如RocketMQ)。
ActiveMQ的灵活性与易用性使其成为中小企业消息系统的优选方案,但需根据业务规模合理规划资源,避免因配置不当引发性能瓶颈。