Гид по технологиям

Установка Apache ActiveMQ на CentOS 7

• 5 min read • Серверы • Обновлено 21 Nov 2025
Установка Apache ActiveMQ на CentOS 7
Установка Apache ActiveMQ на CentOS 7

Важно: руководство рассчитано на минимальную установку CentOS 7 и выполнение команд от root. Если вы используете sudo-пользователя, выполните sudo -i перед началом.

Что такое Apache ActiveMQ

Apache ActiveMQ — это свободный брокер сообщений и сервер интеграционных шаблонов. Он поддерживает множество клиентов и протоколов (Java, C++, C, Python, Perl, PHP и др.). Основные возможности: группы сообщений, виртуальные назначения, шаблоны с подстановками, составные назначения и интеграция со Spring.

Краткая дефиниция: брокер сообщений посредничает в передаче сообщений между приложениями, упорядочивает очереди и обеспечивает надёжность доставки.

Предварительные требования

  • Минимальная установка CentOS 7.
  • Root-права (или sudo -i).
  • Подключение к интернету для скачивания пакетов.

Обновление системы

Перед установкой пакетов рекомендуется обновить систему и репозитории:

yum -y update

После обновления можно переходить к установке Java.

Установка Java

ActiveMQ требует установленную Java (OpenJDK или Oracle Java). Здесь показан вариант с Oracle Java 8, как в исходном руководстве. Вы можете использовать OpenJDK вместо Oracle Java — в большинстве случаев OpenJDK полностью совместим.

Скачайте RPM пакет Oracle Java (пример команды; ссылка может устареть):

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

Если wget не установлен:

yum -y install wget

Установите полученный RPM-пакет:

yum -y localinstall jdk-8u131-linux-x64.rpm

Проверьте версию Java:

java -version

Пример ожидаемого вывода:

[root@liptan-pc ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Проверьте переменную окружения JAVA_HOME:

echo $JAVA_HOME

Если переменная не установлена, добавьте её в .bash_profile:

nano ~/.bash_profile

Вставьте строки (проверьте путь к установленному JDK):

export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre

Сделайте файл активным:

source ~/.bash_profile

Проверьте снова:

[root@pc ~]# echo $JAVA_HOME 
/usr/java/jdk1.8.0_131/

Примечание: если вы используете OpenJDK, пути будут отличаться, например /usr/lib/jvm/java-1.8.0-openjdk.

Установка ActiveMQ

ActiveMQ распространяется в виде готовых бинарных архивов для UNIX-подобных систем. Единственная обязательная зависимость — Java. Скачайте архив ActiveMQ (ссылка примерна — используйте страницу загрузки проекта для актуальной версии):

wget http://www-eu.apache.org/dist//activemq/5.15.0/apache-activemq-5.15.0-bin.tar.gz

Если wget отсутствует, установите его:

yum -y install wget

Распакуйте архив в /var:

tar -zxvf apache-activemq-*-bin.tar.gz -C /var

Для удобства переименуйте каталог:

mv /var/apache-activemq-*/ /var/activemq/

ActiveMQ теперь установлен в /var/activemq.

Запуск ActiveMQ

Перейдите в каталог установки:

cd /var/activemq

Запуск в foreground (видим логи в терминале):

./bin/activemq console

Запуск как фонового процесса:

./bin/activemq start

Пример ожидаемого вывода при успешном старте:

[root@pc activemq]# ./bin/activemq start
INFO: Loading '/var/activemq//bin/env'
INFO: Using java '/usr/java/jdk1.8.0_131//bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '27680')

Остановить сервис можно командой:

./bin/activemq stop

Создание systemd-сервиса

Для управления ActiveMQ удобнее использовать systemd — так процесс автоматически стартует при загрузке и перезапускается при сбоях.

Создайте файл сервиса:

nano /etc/systemd/system/activemq.service

Вставьте содержимое:

[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

Затем запустите и включите автозапуск:

systemctl start activemq
systemctl enable activemq

Проверка статуса:

systemctl status activemq

Ожидаемый фрагмент статуса:

? activemq.service - ActiveMQ service
   Loaded: loaded (/etc/systemd/system/activemq.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-07-15 17:05:24 UTC; 6s ago
  Process: 28815 ExecStart=/var/activemq/bin/activemq start (code=exited, status=0/SUCCESS)
 Main PID: 28867 (java)
   CGroup: /system.slice/activemq.service
           ??28867 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth...

Jul 15 17:05:24 centos systemd[1]: Starting ActiveMQ service...
Jul 15 17:05:24 centos activemq[28815]: INFO: Loading '/var/activemq//bin/env'
Jul 15 17:05:24 centos activemq[28815]: INFO: Using java '/usr/bin/java'
Jul 15 17:05:24 centos activemq[28815]: INFO: Starting - inspect logfiles specified in logging.propertie...tails
Jul 15 17:05:24 centos activemq[28815]: INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '28867')
Jul 15 17:05:24 centos systemd[1]: Started ActiveMQ service.

Администрирование через веб-панель

После запуска сервиса откройте админ-панель в браузере:

http://Your_Server_IP:8161/admin

Если установлен firewalld, откройте порт 8161:

firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload

По умолчанию: логин и пароль admin / admin. Обязательно смените пароль после первого входа.

Мини-методология: проверка работоспособности

  1. Убедитесь, что Java установлена и JAVA_HOME настроен.
  2. Распакуйте ActiveMQ в /var/activemq.
  3. Запустите ./bin/activemq start и проверьте логи.
  4. Создайте systemd-сервис и включите автозапуск.
  5. Откройте порт 8161 и зайдите в админ-панель.
  6. Смените пароль и настройте безопасность.

Роли и чек-листы

Администратор (Server Admin)

  • Проверить версию ОС и обновления.
  • Установить Java и настроить JAVA_HOME.
  • Настроить systemd-сервис и автозапуск.
  • Настроить бэкапы конфигураций и данных ActiveMQ.

DevOps

  • Интегрировать мониторинг (логирование, метрики JVM).
  • Добавить проверку состояния службы в систему мониторинга.
  • Автоматизировать развёртывание (Ansible/Chef/Puppet).

Разработчик

  • Настроить клиенты на работу с брокером (URI, очереди, топики).
  • Проверить сценарии повторной доставки и подтверждений.
  • Тестировать нагрузку и устойчивость при пиковых нагрузках.

Безопасность и жёсткая настройка

  • Смените учётные данные admin сразу после первого входа.
  • Отключите консольный доступ к ActiveMQ по необязательным интерфейсам.
  • Ограничьте доступ к порту 8161 через брандмауэр и/или VPN.
  • Используйте шифрование (SSL/TLS) для межкластерного и клиентского трафика.
  • Настройте ротацию логов и мониторинг размерности данных в /var/activemq/data.

Примечание: детальная настройка TLS и аутентификации выходит за рамки базового руководства.

Когда ActiveMQ может не подойти

  • Если вам нужна строго упорядоченная, распределённая система с большой пропускной способностью — рассмотрите Apache Kafka.
  • Для простых очередей с лёгкой настройкой и малыми требованиями — RabbitMQ может быть предпочтительнее.
  • Если требуются встроенные транзакции на уровне базы данных, стоит оценить архитектуру сообщений.

Альтернативы и сравнение (обзор)

  • RabbitMQ — удобен для AMQP, прост в настройке, хорош для распределённых приложений с малыми задержками.
  • Apache Kafka — оптимален для больших потоков данных и хранения событий, подходит для аналитики и потоковой обработки.
  • ActiveMQ Artemis — современная реализация с высокой производительностью и улучшенной совместимостью.

Выбор зависит от требований по: надёжности доставки, задержке, объёму сообщений и модели потребления.

Критерии приёмки

  • Java установлена и доступна в окружении (java -version).
  • ActiveMQ запущен и сервис отображается как active (systemctl status activemq).
  • Админ-панель доступна по http://Your_Server_IP:8161/admin и аутентификация работает.
  • Порт 8161 открыт в брандмауэре только для необходимых сетей.
  • Пароль admin изменён, базовая настройка безопасности выполнена.

Типичные проблемы и способы их решения

  • Проблема: ActiveMQ не стартует — проверьте логи в /var/activemq/data и права на файлы.
  • Проблема: Java не найдена — убедитесь, что JAVA_HOME корректно выставлен и переменные экспортированы.
  • Проблема: Порт 8161 недоступен — проверьте firewalld/iptables и SELinux (при необходимости временно отключите SELinux для проверки).

Краткая сводка по поддержке и миграции

  • Перед обновлением ActiveMQ создайте резервные копии каталога /var/activemq/conf и /var/activemq/data.
  • Тестируйте миграцию на стенде, чтобы проверить совместимость конфигураций и брокерных данных.

Заключение

Теперь у вас должен быть рабочий экземпляр Apache ActiveMQ на CentOS 7. Вы установили Java, распаковали ActiveMQ, запустили службу через systemd и обеспечили базовую защиту доступа к админ-панели. Дальше рекомендуем настроить мониторинг, регулярные бэкапы и улучшить безопасность (TLS, пользовательские роли, сетевые ограничения).

Важно: изучайте официальную документацию ActiveMQ для продвинутых сценариев (кластеризация, мосты, настройка персистентности).

Ключевые файлы и каталоги для отслеживания:

  • /var/activemq/bin — скрипты управления
  • /var/activemq/conf — конфигурация брокера
  • /var/activemq/data — данные и логи
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро