Apache ActiveMQ je bezplatný zprostředkovatel zpráv s otevřeným zdrojovým kódem a založený na Javě, který lze použít k odesílání zpráv mezi dvěma aplikacemi. Nabízí mnoho funkcí, včetně vysoké dostupnosti a vyrovnávání zatížení zpráv pro vaše data. Podporuje také několik jazyků klienta a protokoly včetně Java, C, C++, Python, PHP, Perl, Ruby a C#. Překládá zprávy od odesílatele k příjemci a umožňuje držet zprávy ve frontě.
V tomto tutoriálu se naučíme, jak nainstalovat Apache ActiveMQ na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat Javu
Apache ActiveMQ je aplikace založená na Javě, takže Java musí být nainstalována ve vašem systému. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:
dnf install java-11-openjdk-devel -y
Po instalaci Javy ověřte nainstalovanou verzi Javy pomocí následujícího příkazu:
java --version
Měli byste získat následující výstup:
openjdk 11.0.6 2020-01-14 LTSOpenJDK Runtime Environment 18.9 (sestavení 11.0.6+10-LTS)OpenJDK 64-Bit Server VM 18.9 (sestavení 11.0.6+10-LTS), smíšený režim před>Instalace a konfigurace Apache ActiveMQ
Nejprve si budete muset stáhnout nejnovější verzi ActiveMQ z jejich oficiálních stránek. Můžete si jej stáhnout pomocí následujícího příkazu:
cd /opt
wget https://www.apache.org/dist/activemq/5.15.12/apache-activemq-5.15.12-bin.tar.gzPo stažení rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf apache-activemq-5.15.12-bin.tar.gzDále přejmenujte extrahovaný adresář apache-activemq pomocí následujícího příkazu:
mv apache-activemq-5.15.12 apache-activemqDále je dobré vytvořit samostatného uživatele pro Apache ActiveMQ. Nového uživatele s názvem activemq můžete vytvořit pomocí následujícího příkazu:
useradd activemqDále změňte vlastnictví adresáře apache-activemq na activemq:
chown -R activemq:activemq /opt/apache-activemq/Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvořit soubor Systemd Service pro ActiveMQ
Dále budete muset vytvořit soubor služby systemd pro správu služby Apache ActiveMQ. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/apache-activemq.servicePřidejte následující řádky:
[Unit]Description=Apache ActiveMQ Messaging ServerAfter=network.target[Service]Type=forkingUser=activemqGroup=activemqExecStart=/opt/apache-activemq/bin/activemq startExecStop=/opt/apache-activemq/bin/activemq stop [Install]WantedBy=multi-user.targetPo dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:
systemctl daemon-reloadDále spusťte službu ActiveMQ a povolte její spuštění po restartování systému pomocí následujícího příkazu:
systemctl spustit apache-activemq
systemctl povolit apache-activemqStav služby ActiveMQ můžete ověřit pomocí následujícího příkazu:
stav systemctl apache-activemqMěli byste vidět následující výstup:
? apache-activemq.service - Apache ActiveMQ Messaging Server Načteno:načteno (/etc/systemd/system/apache-activemq.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od čt 2020-03-26 10:15 :32 EDT; před 12s Proces:9005 ExecStart=/opt/apache-activemq/bin/activemq start (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:9057 (java) Úkoly:49 (limit:25028) Paměť: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]:Spouštění Apache ActiveMQ Messaging Server...Mar 26 10:15:32 centos8 activemq[9005]:INFO:Načítání '/opt/apache-activemq//bin /env'Mar 26 10:15:32 centos8 activemq[9005]:INFO:Použití java '/usr/bin/java'Mar 26 10:15:32 centos8 activemq[9005]:INFO:Spouštění - kontrola souborů protokolu specifikovaných v protokolování .properties and log4j.properties pro získání podrobností 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]:Spuštěn Apache ActiveMQ Messaging Server.Ve výchozím nastavení Apache ActiveMQ naslouchá na portu 8161. Můžete to zkontrolovat pomocí následujícího příkazu:
netstat -antup | grep 8161Měli byste získat následující výstup:
tcp6 0 0 :::8161 :::* LISTEN 9289/javaNastavit heslo správce Apache ActiveMQ
Ve výchozím nastavení je uživatelské jméno a heslo správce Apache ActiveMQ nastaveno na admin/admin. Z bezpečnostních důvodů je to velmi nebezpečné. Proto se doporučuje změnit jej pomocí zabezpečeného hesla.
Můžete jej změnit úpravou následujícího souboru:
nano /opt/apache-activemq/conf/jetty-realm.propertiesZměňte následující řádky pomocí požadovaného hesla:
# uživatelské jméno:heslo [,rolename ...]admin:activemqpassword, adminuser:userpassword, userPo dokončení uložte a zavřete soubor. Potom restartujte službu ActiveMQ, aby se změny projevily:
systemctl restart apache-activemqJakmile budete hotovi, můžete přejít k dalšímu kroku.
Nakonfigurujte Nginx jako reverzní proxy pro Apache ActiveMQ
Dále se doporučuje nakonfigurovat Nginx jako reverzní proxy pro ActiveMQ.
Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:
dnf nainstalovat nginx -yJakmile je Nginx nainstalován, vytvořte nový konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/conf.d/activemq.confPřidejte následující řádky:
server { poslouchat 80; server_name your-server-ip; umístění / { proxy_pass http://127.0.0.1:8161; proxy_http_verze 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Připojení 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:
nginx -tMěli byste vidět následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýNakonec spusťte službu Nginx a povolte její spuštění po restartu systému pomocí následujícího příkazu:
systemctl spustit nginx
systemctl povolit nginxStav Nginx můžete také ověřit pomocí následujícího příkazu:
stav systemctl nginxMěli byste vidět následující výstup:
? nginx.service – HTTP a reverzní proxy server nginx Načteno:načteno (/usr/lib/systemd/system/nginx.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běžící) od čt 2020-03-26 10:27:45 EDT; Před 1 minutou 9 s Proces:9984 ExecStart=/usr/sbin/nginx (kód=ukončeno, stav=0/ÚSPĚCH) Proces:9982 ExecStartPre=/usr/sbin/nginx -t (kód=ukončeno, stav=0/ÚSPĚCH) Proces :9980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:9985 (nginx) Úkoly:3 (limit:25028) Paměť:5,5M CGroup:/system.slice/nginx.service 9985 nginx:hlavní proces /usr/sbin/nginx 9986 nginx:pracovní proces 9987 nginx:pracovní proces 26. března 10:27:44 centos8 systemd[1]:Spuštění nginx HTTP a reverzní proxy server...Konfigurovat SELinux a bránu firewall
Ve výchozím nastavení je SELinux v CentOS 8 povolen. Aby Apache ActiveMQ správně fungoval, doporučujeme SELinux zakázat.
SELinux můžete deaktivovat úpravou souboru /etc/selinux/config:
nano /etc/selinux/configNajděte následující řádek:
SELINUX=vynucováníA nahraďte jej následujícím řádkem:
SELINUX=permisivníUložte a zavřete soubor. Poté restartujte systém, aby se změny projevily:
Dále budete muset povolit porty 80 a 8161 přes firewall. Můžete je povolit pomocí následujícího příkazu:
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --zone=public --permanent --add-port=80/tcpPoté znovu načtěte firewall, aby se změny projevily:
firewall-cmd --reloadJakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k Apache ActiveMQ
V tomto okamžiku je Apache ActiveMQ nainstalován a nakonfigurován.
Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru. Měli byste vidět následující stránku:
K administrátorskému rozhraní Apache ActiveMQ se můžete dostat také na adrese URL http://ip-vaseho-serveru/admin. Budete přesměrováni na následující stránku:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující stránce byste měli vidět administrátorské rozhraní Apache ActiveMQ:
Monitorování ActiveMQ pomocí Hawt.io
Můžete také sledovat svůj Apache ActiveMQ pomocí Hawt.io. Hawt.io je modulární webová konzole pro správu aplikací založených na Javě. Je to připojitelná konzola pro správu, která podporuje jakýkoli druh JVM, jakýkoli druh kontejneru včetně Tomcat, Jetty, Karaf, JBoss a mnoho dalších.
Nejprve si stáhněte nejnovější verzi válečného souboru Hawt.io pomocí následujícího příkazu:
wget https://repo1.maven.org/maven2/io/hawt/hawtio-default/2.9.1/hawtio-default-2.9.1.warDále rozbalte stažený soubor pomocí následujícího příkazu:
rozbalte hawtio-default-2.9.1.war -d hawtioDále přesuňte extrahovaný adresář do adresáře webapps pomocí následujícího příkazu:
mv hawtio /opt/apache-activemq/webapps/Dále změňte vlastnictví adresáře webapps na activemq pomocí následujícího příkazu:
chown -R activemq:activemq /opt/apache-activemq/webapps/Dále upravte soubor prostředí Apache ActiveMQ a proveďte nějaké změny:
nano /opt/apache-activemq/bin/envNajděte následující řádek:
ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config"Nahraďte jej následujícím řádkem:
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"Po dokončení uložte a zavřete soubor. Dále otevřete soubor jetty.xml:
nano /opt/apache-activemq/conf/jetty.xmlPřidejte následující řádek pod řádek :
Po dokončení uložte a zavřete soubor a poté restartujte službu Apache ActiveMQ, aby se změny projevily:
systemctl restart apache-activemqJakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k webovému rozhraní Hawt.io
Hawt.io je nyní nainstalován a nakonfigurován. Je čas vstoupit do jeho webového rozhraní.
Otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/hawtio. Budete přesměrováni na přihlašovací stránku Hawt.io:
Zadejte výchozí uživatelské jméno a heslo jako admin/admin a klikněte na Protokol v knoflík. Na následující stránce byste měli vidět řídicí panel Hawt.io:
Závěr
Gratulujeme! úspěšně jste nainstalovali Apache ActiveMQ na CentOS 8. Další informace naleznete v dokumentaci Apache ActiveMQ na webu ActiveMQ.
Jak nainstalovat databázový server MySQL 8 na CentOS 8 Jak nainstalovat a nakonfigurovat Mattermost na CentOS 8Cent OS