如何在CentOS 8上安裝Apache ActiveMQ和Hawt.io

如何在CentOS 8上安裝Apache ActiveMQ和Hawt.io

Apache ActiveMQ是一個免費的,開源的,基於Java的消息代理,可用於在兩個應用程序之間發送消息。提供許多功能,例如高數據可用性和消息負載平衡。它還支持多種語言的客戶端和協議,包括Java,C,C ++,Python,PHP,Perl,Ruby和C#。將郵件從發件人轉換為收件人,以便可以將其保留在隊列中。

在本教程中,您將學習如何在CentOS 8上安裝Apache ActiveMQ。

前提條件

  • 運行CentOS的服務器8。
  • 已經在服務器上設置了root密碼。

安裝Java

Apache ActiveMQ是基於Java的應用程序,需要Java安裝在系統上。如果沒有,則可以使用以下命令進行安裝:

dnf install java-11-openjdk-devel -y

安裝Java後,使用以下命令檢查Java的安裝版本:

java --version

您將看到以下輸出:

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)

安裝和配置Apache ActiveMQ

首先,您需要從官方網站下載最新版本的ActiveMQ。您可以使用以下命令下載。

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

下載後,使用以下命令解壓縮下載的文件:

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

接下來,使用以下命令將提取的目錄重命名為apache-activemq:

mv apache-activemq-5.15.12 apache-activemq

接下來,我們建議您為Apache ActiveMQ創建另一個用戶。您可以使用以下命令創建一個名為activemq的新用戶:

useradd activemq

接下來,將apache-activemq目錄的所有權更改為activemq。

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

完成後,您可以繼續下一步。

為ActiveMQ創建Systemd服務文件

接下來,您需要創建一個systemd服務文件來管理Apache ActiveMQ服務。您可以使用以下命令創建它。

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

添加以下行:

[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

完成後,保存並關閉文件。然後使用以下命令重新加載systemd守護程序:

systemctl daemon-reload

接下來,啟動ActiveMQ服務,以便在系統重新啟動後可以使用以下命令將其啟動:

systemctl start apache-activemq systemctl enable apache-activemq

您可以使用以下命令檢查ActiveMQ服務的狀態:

systemctl status apache-activemq

您將看到以下輸出:

? 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.

默認情況下,Apache ActiveMQ偵聽端口8161。您可以使用以下命令進行檢查:

netstat -antup | grep 8161

您將看到以下輸出:

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

設置Apache ActiveMQ管理員密碼

默認情況下,Apache ActiveMQ管理員用戶名和密碼設置為admin / admin。出於安全原因非常危險。我們建議您使用安全密碼進行更改。

您可以編輯和更改以下文件:

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

將以下行更改為所需的密碼。

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

完成後,保存並關閉文件。接下來,重新啟動ActiveMQ服務以應用更改。

systemctl restart apache-activemq

完成後,您可以繼續下一步。

將Nginx配置為Apache ActiveMQ的反向代理

接下來,我們建議您將Nginx配置為ActiveMQ的反向代理。

首先,使用以下命令安裝Nginx Web服務器。

dnf install nginx -y

一旦安裝了Nginx,請使用以下命令創建一個新的Nginx虛擬主機配置文件:

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

添加以下行:

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;
     }
}

完成後,保存並關閉文件。接下來,使用以下命令檢查Nginx的語法錯誤:

nginx -t

您將看到以下輸出:

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

最後,啟動Nginx服務,以便可以在系統重新啟動後使用以下命令啟動它:

systemctl start nginx systemctl enable nginx

您還可以使用以下命令檢查Nginx的狀態:

systemctl status nginx

您將看到以下輸出:

? 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...

配置SELinux和防火牆

在CentOS 8中,默認情況下啟用SELinux。建議禁用SELinux以使ApacheActiveMQ正常工作。

您可以編輯/ etc / selinux / config文件以禁用SELinux。

nano /etc/selinux/config

找到以下行:

SELINUX=enforcing

並將其替換為以下行:

SELINUX=permissive

保存並關閉文件。然後重新啟動系統以應用更改。

接下來,您需要允許端口80和8161通過Firewalld。您可以使用以下命令允許它們:

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

接下來,重新加載firewalld以應用更改。

firewall-cmd --reload

完成後,您可以繼續下一步。

訪問Apache ActiveMQ

至此,已安裝並配置了Apache ActiveMQ。

接下來,打開Web瀏覽器並輸入URL http:// your-server-ip。顯示以下頁面。

您還可以通過訪問URL http:/// your-server-ip / admin來訪問Apache ActiveMQ管理界面。您將被重定向到下一頁。

登入

輸入您的管理員用戶名和密碼, 登入 按鈕下一頁顯示Apache ActiveMQ管理界面。

ActiveMQ儀錶板

使用Hawt.io監視ActiveMQ

您也可以使用Hawt.io監視Apache ActiveMQ。 Hawt.io是用於管理基於Java的應用程序的模塊化Web控制台。它是可插拔的管理控制台,支持各種JVM和容器,包括Tomcat,Jetty,Karaf和JBoss。

首先,使用以下命令下載最新版本的Hawt.io war文件:

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

接下來,使用以下命令提取下載的文件:

unzip hawtio-default-2.9.1.war -d hawtio

接下來,使用以下命令將提取的目錄移動到webapps目錄:

mv hawtio /opt/apache-activemq/webapps/

接下來,使用以下命令將webapps目錄的所有權更改為activemq:

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

接下來,編輯Apache ActiveMQ環境文件並進行一些更改。

nano /opt/apache-activemq/bin/env

找到以下行:

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

與以下行:

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"

完成後,保存並關閉文件。接下來,打開jetty.xml文件。

廣告業

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

在該行下方添加以下行






完成後,保存並關閉文件,然後重新啟動Apache ActiveMQ服務以應用更改。

systemctl restart apache-activemq

完成後,您可以繼續下一步。

訪問Hawt.io Web界面

現在,您已經安裝並配置了Hawt.io。現在該訪問Web界面了。

打開Web瀏覽器並輸入URL http:// your-server-ip / hawtio。您將被重定向到Hawt.io登錄頁面。

Hawt.io登錄

輸入默認的用戶名和密碼admin / admin, 記錄 按鈕下一頁顯示Hawt.io儀錶板。

Hawt.io儀錶板

結論

恭喜你! Apache ActiveMQ已成功安裝在CentOS 8上。有關更多信息,請訪問Apache ActiveMQ文檔。 ActiveMQ

Sidebar