如何在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