Apache ActiveMQ es un intermediario de mensajes y un servidor de patrones de integración gratuito y de código abierto. Es compatible con muchos clientes y protocolos de idiomas cruzados de JAVA, C ++, C, Python, Perl, PHP, etc. Proporciona muchas funciones, como grupos de mensajes, destinos virtuales, comodines y destinos compuestos, etc. Se puede integrar fácilmente a las aplicaciones Spring.
En este tutorial, instalaremos Apache ActiveMQ en el servidor CentOS 7.
Requisito previo
- Servidor CentOS 7 mínimo
- Privilegios de raíz. Esta guía está escrita como usuario root, si ha iniciado sesión como usuario sudo, ejecute sudo -i.
Actualizar sistema base
Antes de instalar cualquier paquete, se recomienda que actualice los paquetes y el repositorio con el siguiente comando.
yum -y update
Una vez que su sistema esté actualizado, continúe para instalar JAVA.
Instalar JAVA
ActiveMQ es compatible con OpenJDK y Oracle JAVA, en este tutorial instalaremos la última versión de Oracle Java en el servidor. Ejecute el siguiente comando para descargar el paquete RPM.
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"
Si no tiene instalado wget, puede ejecutar yum -y install wget para instalar wget. Ahora instale el RPM descargado usando el siguiente comando.
yum -y localinstall jdk-8u131-linux-x64.rpm
Ahora puede verificar la versión de Java usando el siguiente comando.
java -version
Obtendrá el siguiente resultado.
[[email protected] ~]# 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)
También deberá verificar si la variable de entorno JAVA_HOME está configurada. Ejecute el siguiente comando para lo mismo.
echo $JAVA_HOME
Si obtiene un resultado nulo o en blanco, deberá configurar manualmente la variable JAVA_HOME. Edite el archivo .bash_profile con su editor favorito. En este tutorial, utilizaremos el editor nano. Ejecute el siguiente comando para editar .bash_profile usando nano.
nano ~/.bash_profile
Ahora agregue las siguientes líneas al final del archivo.
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Ahora obtenga el archivo usando el siguiente comando.
source ~/.bash_profile
Ahora puede ejecutar el comando echo $JAVA_HOME nuevamente para verificar si la variable de entorno está configurada o no.
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
Instalar ActiveMQ
ActiveMQ proporciona binarios para sistemas Unix que están precompilados y se pueden usar directamente. La única dependencia requerida era instalar JAVA en el sistema. Como hemos instalado JAVA, podemos continuar para descargar ActiveMQ.
wget http://www-eu.apache.org/dist//activemq/5.15.0/apache-activemq-5.15.0-bin.tar.gz
Si no tiene wget instalado, puede ejecutar yum -y install wget. Siempre puede encontrar el enlace a la última versión en la página de descarga de ActiveMQ.
Extrae el archivo usando el siguiente comando.
tar -zxvf apache-activemq-*-bin.tar.gz -C /var
Cambie el nombre del directorio ActiveMQ por simplicidad ejecutando.
mv /var/apache-activemq-*/ /var/activemq/
ActiveMQ ya está instalado en su sistema.
Iniciando ActiveMQ
Cambie su directorio actual al directorio de instalación de ActiveMQ.
cd /var/activemq
Puede iniciar inmediatamente ActiveMQ como un proceso en primer plano ejecutando el siguiente comando.
./bin/activemq console
Para iniciar ActiveMQ como proceso en segundo plano, ejecute:
./bin/activemq start
Debería obtener el siguiente resultado si se inició correctamente.
[[email protected]c 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')
Para detener ActiveMQ, puede ejecutar el siguiente comando.
./bin/activemq stop
Creación del servicio Systemd
Aunque puede ejecutar fácilmente ActiveMQ usando los comandos anteriores, se recomienda usar un servicio systemd para administrar el proceso de ActiveMQ. El uso del servicio Systemd garantizará que ActiveMQ se inicie automáticamente en el momento del arranque y en caso de falla.
Cree un archivo de servicio systemd usando su editor de texto favorito. En este tutorial, usaremos el editor nano. Si no tiene nano instalado, puede ejecutar yum -y install nano.
nano /etc/systemd/system/activemq.service
Ahora complete el archivo con el siguiente contenido.
[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
Ahora puede iniciar ActiveMQ usando:
systemctl start activemq
Para configurar ActiveMQ para que se inicie automáticamente en el momento del arranque, utilice.
systemctl enable activemq
Para verificar si el servicio ActiveMQ se inició correctamente, puede ejecutar el siguiente comando para verificar el estado del servicio ActiveMQ.
systemctl status activemq
Debería obtener un resultado similar al que se muestra a continuación.
? 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.
Uso del panel web de administración
Para acceder al panel administrativo de ActiveMQ, inicie el servicio ActiveMQ. Con su navegador web favorito, abra la siguiente URL.
http://Your_Server_IP:8161/admin
Si tiene firewalld instalado, deberá permitir el puerto 8161 a través del firewall. Ejecute el siguiente comando para lo mismo.
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload
El nombre de usuario y la contraseña iniciales para Apache ActiveMQ son admin y administrador . Una vez que haya iniciado sesión, verá la siguiente interfaz.
Debe cambiar su contraseña tan pronto como inicie sesión.
Conclusión
Ahora puede usar el servidor Apache ActiveMQ para administrar la comunicación entre múltiples clientes y servidores. Puede obtener más información sobre Apache ActiveMQ visitando el sitio de ActiveMQ.