Apache ActiveMQ è un broker di messaggi gratuito e open source e un server di pattern di integrazione. Supporta molti client e protocolli multilingua da JAVA, C++, C, Python, Perl, PHP ecc. Fornisce molte funzionalità come gruppi di messaggi, destinazioni virtuali, caratteri jolly e destinazioni composite ecc. Può essere facilmente integrato in applicazioni primaverili.
In questo tutorial, installeremo Apache ActiveMQ sul server CentOS 7.
Prerequisito
- Server CentOS 7 minimo
- Privilegi di root. Questa guida è scritta come utente root, se hai effettuato l'accesso come utente sudo, esegui sudo -i.
Aggiorna sistema di base
Prima di installare qualsiasi pacchetto si consiglia di aggiornare i pacchetti e il repository utilizzando il comando seguente.
yum -y update
Una volta aggiornato il sistema, procedi ulteriormente con l'installazione di JAVA.
Installa JAVA
ActiveMQ supporta sia OpenJDK che Oracle JAVA, in questo tutorial installeremo l'ultima versione di Oracle Java nel server. Esegui il comando seguente per scaricare il pacchetto 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"
Se non hai installato wget, puoi eseguire yum -y install wget per installare wget. Ora installa l'RPM scaricato usando il seguente comando.
yum -y localinstall jdk-8u131-linux-x64.rpm
Ora puoi controllare la versione Java usando il seguente comando.
java -version
Otterrai il seguente output.
[[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)
Dovrai anche verificare se la variabile di ambiente JAVA_HOME è impostata. Esegui il seguente comando per lo stesso.
echo $JAVA_HOME
Se ottieni un output nullo o vuoto, dovrai impostare manualmente la variabile JAVA_HOME. Modifica il file .bash_profile usando il tuo editor preferito. In questo tutorial useremo nano editor. Esegui il comando seguente per modificare .bash_profile usando nano.
nano ~/.bash_profile
Ora aggiungi le seguenti righe alla fine del file.
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Ora crea il file usando il seguente comando.
source ~/.bash_profile
Ora puoi eseguire nuovamente il comando echo $JAVA_HOME per verificare se la variabile di ambiente è impostata o meno.
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
Installa ActiveMQ
ActiveMQ fornisce binari per sistemi Unix che sono precompilati e possono essere utilizzati direttamente. L'unica dipendenza richiesta era installare JAVA nel sistema. Poiché abbiamo installato JAVA, possiamo procedere ulteriormente al download di ActiveMQ.
wget http://www-eu.apache.org/dist//activemq/5.15.0/apache-activemq-5.15.0-bin.tar.gz
Se non hai installato wget, puoi eseguire yum -y install wget. Puoi sempre trovare il link all'ultima versione nella pagina di download di ActiveMQ.
Estrarre l'archivio utilizzando il seguente comando.
tar -zxvf apache-activemq-*-bin.tar.gz -C /var
Modificare il nome della directory ActiveMQ per motivi di semplicità eseguendo.
mv /var/apache-activemq-*/ /var/activemq/
ActiveMQ è ora installato sul tuo sistema.
Avvio di ActiveMQ
Cambia la directory corrente nella directory di installazione di ActiveMQ.
cd /var/activemq
Puoi avviare immediatamente ActiveMQ come processo in primo piano eseguendo il comando seguente.
./bin/activemq console
Per avviare ActiveMQ come processo in background, esegui:
./bin/activemq start
Dovresti ottenere il seguente output se avviato correttamente.
[[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')
Per interrompere ActiveMQ, puoi eseguire il comando seguente.
./bin/activemq stop
Creazione del servizio Systemd
Sebbene sia possibile eseguire facilmente ActiveMQ utilizzando i comandi precedenti, si consiglia di utilizzare un servizio systemd per la gestione del processo ActiveMQ. L'utilizzo del servizio Systemd assicurerà che ActiveMQ si avvii automaticamente all'avvio e in caso di errori.
Crea un file di servizio systemd usando il tuo editor di testo preferito. In questo tutorial useremo nano editor. Se non hai installato nano, puoi eseguire yum -y install nano.
nano /etc/systemd/system/activemq.service
Ora popola il file con il seguente contenuto.
[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
Ora puoi avviare ActiveMQ utilizzando:
systemctl start activemq
Per configurare ActiveMQ per l'avvio automatico all'avvio, utilizzare.
systemctl enable activemq
Per verificare se il servizio ActiveMQ è stato avviato correttamente, puoi eseguire il comando seguente per verificare lo stato del servizio ActiveMQ.
systemctl status activemq
Dovresti ottenere un output simile a quello mostrato di seguito.
? 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.
Utilizzo del pannello Web di amministrazione
Per accedere al pannello amministrativo di ActiveMQ, avviare il servizio ActiveMQ. Utilizzando il tuo browser web preferito, apri il seguente URL.
http://Your_Server_IP:8161/admin
Se hai installato firewalld, dovrai consentire la porta 8161 attraverso il firewall. Esegui il seguente comando per lo stesso.
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload
Il nome utente e la password iniziali per Apache ActiveMQ sono admin e amministratore . Una volta effettuato l'accesso, vedrai la seguente interfaccia.
Dovresti cambiare la tua password non appena avrai effettuato l'accesso.
Conclusione
È ora possibile utilizzare il server Apache ActiveMQ per gestire la comunicazione tra più client e server. Puoi saperne di più su Apache ActiveMQ andando al sito ActiveMQ.