跳到主要内容
版本:1.0

维护指南

本章提供的是本应用自身特殊等维护与配置。而配置域名、HTTPS设置、数据迁移、应用集成、Web Server 配置、Docker 配置、修改数据库连接、服务器上安装更多应用、操作系统升级、快照备份等操作通用操作请参考:管理员指南安装后配置 相关章节。

场景

ActiveMQ 升级

ActiveMQ 主要采用二级制安装方式,其升级方案差不多等于安装:

  1. 进入容器,依次运行如下的命令做好准备:
    docker exec -it activemq bash
    # stop ActiveMQ service
    systemctl stop activemq

    # rename the dir of ActiveMQ for backup
    mv /opt/activemq /opt/activemqBK
  2. 访问 ActiveMQ 官方网站,下载后解压并上传到:/opt 目录,并命名为 activemq
  3. 分别运行下面的修改权限
    chown -R activemq. /opt/activemq
    chmod 640 /opt/activemq/examples/stomp/php/*
    chmod +x /opt/activemq/bin/activemq
  4. 重启 ActiveMQ服务 后升级完成

故障排除

除以下列出的 ActiveMQ 故障问题之外, 通用故障处理 专题章节提供了更多的故障方案。

ActiveMQ 服务无法启动?

  1. 以调试模式运行activemq console,便可以查看启动状态和错误

    docker exec -it activemq bash
    /opt/activemq/bin/activemq
  2. 打开日志文件:/opt/activemq/data/activemq.log,检索 failed 关键词,分析错误原因

  3. 常见的无法启动ActiveMQ服务的原因有如下几点:

    • 主机名不符合要求。例如:activemq5.6,这种包含"."的主机名就会导致ActiveMQ无法重启。参考如下命令重置主机名
    hostnamectl set-hostname activemq
    • 缺乏Java的环境变量。通过:echo $JAVA_HOMEwhich java 查看反馈信息。

常见问题

Active Classic vs ActiveMQ Artemis?

ActiveMQ Artemis 是 ActiveMQ 下一代产品,未来将替换 ActiveMQ Classic。 具体参考:ActiveMQ Classic, ActiveMQ Artemis

如何以调试模式启动ActiveMQ服务?

docker exec -it activemq bash
systemctl stop activemq
/opt/activemq/bin/activemq console

如何退出 ActiveMQ 控制台?

暂无方案

ActiveMQ 中是否包含 Tomcat?

ActiveMQ 官方提供的二级制包中包含 Tomcat,但已经集成到 ActiveMQ 服务中。

是否可以修改 ActiveMQ 的源码路径?

可以,但要参考如下的命令重试设置环境变量

echo 'export PATH="$PATH:/opt/activemq/bin"' >> /etc/profile

如何修改上传的文件权限?

docker exec -it activemq bash
chown -R activemq.activemq /opt/activemq
find /opt/activemq -type d -exec chmod 750 {} \;
find /opt/activemq -type f -exec chmod 640 {} \;