如何在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管理界面。
使用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登錄頁面。
輸入默認的用戶名和密碼admin / admin, 記錄 到 按鈕下一頁顯示Hawt.io儀錶板。
結論
恭喜你! Apache ActiveMQ已成功安裝在CentOS 8上。有關更多信息,請訪問Apache ActiveMQ文檔。 ActiveMQ。