GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache ActiveMQ e Hawt.io su CentOS 8

Apache ActiveMQ è un broker di messaggi gratuito, open source e basato su Java che può essere utilizzato per inviare messaggi tra due applicazioni. Offre molte funzionalità tra cui alta disponibilità e bilanciamento del carico dei messaggi per i tuoi dati. Supporta anche diversi client e protocolli di linguaggi inclusi Java, C, C++, Python, PHP, Perl, Ruby e C#. Traduce i messaggi dal mittente al destinatario e consente di mettere i messaggi in coda.

In questo tutorial impareremo come installare Apache ActiveMQ su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Sul tuo server è configurata una password di root.

Installa Java

Apache ActiveMQ è un'applicazione basata su Java, quindi Java deve essere installato nel tuo sistema. Se non è installato, puoi installarlo con il seguente comando:

dnf install java-11-openjdk-devel -y

Dopo aver installato Java, verificare la versione installata di Java con il seguente comando:

java --version

Dovresti ottenere il seguente output:

openjdk 11.0.6 2020-01-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.6+10-LTS, mixed mode, sharing)

Installa e configura Apache ActiveMQ

Innanzitutto, dovrai scaricare l'ultima versione di ActiveMQ dal loro sito Web ufficiale. Puoi scaricarlo con il seguente comando:

cd /opt
wget https://www.apache.org/dist/activemq/5.15.12/apache-activemq-5.15.12-bin.tar.gz

Una volta scaricato, estrai il file scaricato con il seguente comando:

tar -xvzf apache-activemq-5.15.12-bin.tar.gz

Quindi, rinomina la directory estratta apache-activemq con il seguente comando:

mv apache-activemq-5.15.12 apache-activemq

Successivamente, è una buona idea creare un utente separato per Apache ActiveMQ. Puoi creare un nuovo utente chiamato activemq con il seguente comando:

useradd activemq

Quindi, cambia la proprietà della directory apache-activemq in activemq:

chown -R activemq:activemq /opt/apache-activemq/

Una volta terminato, puoi procedere al passaggio successivo.

Crea file di servizio Systemd per ActiveMQ

Successivamente, dovrai creare un file di servizio systemd per gestire il servizio Apache ActiveMQ. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/apache-activemq.service

Aggiungi le seguenti righe:

[Unit]
Description=Apache ActiveMQ Messaging Server
After=network.target

[Service]
Type=forking
User=activemq
Group=activemq

ExecStart=/opt/apache-activemq/bin/activemq start
ExecStop=/opt/apache-activemq/bin/activemq stop

[Install]
WantedBy=multi-user.target

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio ActiveMQ e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start apache-activemq
systemctl enable apache-activemq

È possibile verificare lo stato del servizio ActiveMQ con il seguente comando:

systemctl status apache-activemq

Dovresti vedere il seguente output:

? apache-activemq.service - Apache ActiveMQ Messaging Server
   Loaded: loaded (/etc/systemd/system/apache-activemq.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-26 10:15:32 EDT; 12s ago
  Process: 9005 ExecStart=/opt/apache-activemq/bin/activemq start (code=exited, status=0/SUCCESS)
 Main PID: 9057 (java)
    Tasks: 49 (limit: 25028)
   Memory: 197.5M
   CGroup: /system.slice/apache-activemq.service
           ??9057 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/apach>

Mar 26 10:15:32 centos8 systemd[1]: Starting Apache ActiveMQ Messaging Server...
Mar 26 10:15:32 centos8 activemq[9005]: INFO: Loading '/opt/apache-activemq//bin/env'
Mar 26 10:15:32 centos8 activemq[9005]: INFO: Using java '/usr/bin/java'
Mar 26 10:15:32 centos8 activemq[9005]: INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
Mar 26 10:15:32 centos8 activemq[9005]: INFO: pidfile created : '/opt/apache-activemq//data/activemq.pid' (pid '9057')
Mar 26 10:15:32 centos8 systemd[1]: Started Apache ActiveMQ Messaging Server.

Per impostazione predefinita, Apache ActiveMQ è in ascolto sulla porta 8161. Puoi verificarlo con il seguente comando:

netstat -antup | grep 8161

Dovresti ottenere il seguente output:

tcp6       0      0 :::8161                 :::*                    LISTEN      9289/java 

Imposta password amministratore Apache ActiveMQ

Per impostazione predefinita, il nome utente e la password dell'amministratore di Apache ActiveMQ sono impostati su admin/admin. È molto pericoloso per motivi di sicurezza. Quindi si consiglia di cambiarlo con una password sicura.

Puoi cambiarlo modificando il seguente file:

nano /opt/apache-activemq/conf/jetty-realm.properties

Modifica le seguenti righe con la password desiderata:

# username: password [,rolename ...]
admin: activemqpassword, admin
user: userpassword, user

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio ActiveMQ per applicare le modifiche:

systemctl restart apache-activemq

Una volta terminato, puoi procedere al passaggio successivo.

Configura Nginx come proxy inverso per Apache ActiveMQ

Successivamente, si consiglia di configurare Nginx come proxy inverso per ActiveMQ.

Innanzitutto, installa il server web Nginx con il seguente comando:

dnf install nginx -y

Una volta installato Nginx, crea un nuovo file di configurazione dell'host virtuale Nginx con il seguente comando:

nano /etc/nginx/conf.d/activemq.conf

Aggiungi le seguenti righe:

server {
    listen 80;
    server_name your-server-ip;
    location / {
        proxy_pass http://127.0.0.1:8161;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }
}

Salva e chiudi il file quando hai finito. Quindi, controlla Nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti vedere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, avvia il servizio Nginx e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start nginx
systemctl enable nginx

Puoi anche verificare lo stato di Nginx usando il seguente comando:

systemctl status nginx

Dovresti vedere il seguente output:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-26 10:27:45 EDT; 1min 9s ago
  Process: 9984 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 9982 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 9980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 9985 (nginx)
    Tasks: 3 (limit: 25028)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ??9985 nginx: master process /usr/sbin/nginx
           ??9986 nginx: worker process
           ??9987 nginx: worker process

Mar 26 10:27:44 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...

Configura SELinux e Firewall

Per impostazione predefinita, SELinux è abilitato in CentOS 8. Si consiglia di disabilitare SELinux per far funzionare correttamente Apache ActiveMQ.

Puoi disabilitare SELinux modificando il file /etc/selinux/config:

nano /etc/selinux/config

Trova la riga seguente:

SELINUX=enforcing

E sostituiscilo con la seguente riga:

SELINUX=permissive

Salva e chiudi il file. Quindi, riavvia il sistema per applicare le modifiche:

Successivamente, dovrai consentire la porta 80 e 8161 tramite firewalld. Puoi consentirli con il seguente comando:

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

Quindi, ricarica il firewalld per applicare le modifiche:

firewall-cmd --reload

Una volta terminato, puoi procedere al passaggio successivo.

Accedi ad Apache ActiveMQ

A questo punto Apache ActiveMQ è installato e configurato.

Ora apri il tuo browser web e digita l'URL http://your-server-ip. Dovresti vedere la seguente pagina:

Puoi anche accedere all'interfaccia di amministrazione di Apache ActiveMQ visitando l'URL http://your-server-ip/admin. Verrai reindirizzato alla seguente pagina:

Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere l'interfaccia di amministrazione di Apache ActiveMQ nella pagina seguente:

Monitoraggio ActiveMQ con Hawt.io

Puoi anche monitorare il tuo Apache ActiveMQ con Hawt.io. Hawt.io è una console web modulare per la gestione della tua applicazione basata su Java. È una console di gestione collegabile che supporta qualsiasi tipo di JVM, qualsiasi tipo di container inclusi Tomcat, Jetty, Karaf, JBoss e molti altri.

Innanzitutto, scarica l'ultima versione del file war Hawt.io con il seguente comando:

wget https://repo1.maven.org/maven2/io/hawt/hawtio-default/2.9.1/hawtio-default-2.9.1.war

Quindi, estrai il file scaricato con il seguente comando:

unzip hawtio-default-2.9.1.war -d hawtio

Quindi, sposta la directory estratta nella directory webapps con il seguente comando:

mv hawtio /opt/apache-activemq/webapps/

Quindi, cambia la proprietà della directory webapps in activemq con il seguente comando:

chown -R activemq:activemq /opt/apache-activemq/webapps/

Quindi, modifica il file di ambiente Apache ActiveMQ e apporta alcune modifiche:

nano /opt/apache-activemq/bin/env

Trova la seguente riga:

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config"

Sostituiscilo con la seguente riga:

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal"

Salva e chiudi il file quando hai finito. Quindi, apri il file jetty.xml:

nano /opt/apache-activemq/conf/jetty.xml

Aggiungi la seguente riga sotto la riga :

<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/hawtio" />
<property name="resourceBase" value="${activemq.home}/webapps/hawtio" />
<property name="logUrlOnStart" value="true" />
</bean>

Salva e chiudi il file al termine, quindi riavvia il servizio Apache ActiveMQ per applicare le modifiche:

systemctl restart apache-activemq

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'interfaccia Web Hawt.io

Hawt.io è ora installato e configurato. È ora di accedere alla sua interfaccia web.

Apri il tuo browser web e digita l'URL http://your-server-ip/hawtio. Verrai reindirizzato alla pagina di accesso di Hawt.io:

Fornisci nome utente e password predefiniti come amministratore/amministratore e fai clic sul Registro dentro pulsante. Dovresti vedere la dashboard di Hawt.io nella pagina seguente:

Conclusione

Congratulazioni! hai installato correttamente Apache ActiveMQ su CentOS 8. Per ulteriori informazioni, visita la documentazione di Apache ActiveMQ su ActiveMQ.


Cent OS
  1. Come installare MongoDB su CentOS 8

  2. Come installare Apache Cassandra su CentOS 8

  3. Come installare Apache Cassandra su CentOS 7

  4. Come installare Apache ActiveMQ su CentOS 7

  5. Come installare MongoDB su Ubuntu 20.04 e CentOS 8

Come installare WonderCMS con Apache e Lets Encrypt SSL su CentOS 8

Come installare e configurare il server VNC su CentOS 8

Come installare Mantis Bug Tracker su CentOS 8

Come installare PrestaShop con Apache e Lets Encrypt SSL su CentOS 8

Come installare Apache ActiveMQ su CentOS 8

Come installare Apache in CentOS 8