如何在CentOS 8上安装Apache ActiveMQ
欢迎使用有关如何在CentOS 8上安装Apache ActiveMQ的今天指南。Apache ActiveMQ是一种开源且使用Java编写的最流行的多协议消息传递服务器。 Apache ActiveMQ使我们可以将消息从一个应用程序(发送者)发送到另一个(接收者/消费者)。该消息代理具有合理水平的功能,对客户端库的支持以及我们可以参考的成熟文档。
Apache ActiveMQ的主要功能
这是关键的Apache ActiveMQ的摘要。它支持Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议。在JMS客户端和JMS客户端中全面支持企业集成模式。 Message Broker支持许多高级功能(例如消息组,虚拟目标,通配符和组合目标)支持可插拔的传输协议(例如VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输)完全支持JMS 1.1和J2EE 1.4,并支持瞬态,持久性,事务性和XA消息传递REST API提供与消息传递无关的技术和语言中立的基于Web的API支持JDBC和高性能期刊的使用以实现非常快速的持久性专为高性能集群,客户端-服务器,基于对等的通信而设计Ajax支持对Web的网络流支持使用纯DHTML的浏览器,允许Web浏览器成为消息传递结构的一部分。CXF和Axis支持,以便ActiveMQ可以可以轻松地放入这两个Web服务堆栈中以提供可靠的消息传递可以用作内存JMS提供程序,非常适合单元测试JMS
在CentOS 8上安装Apache ActiveMQ
写这篇博客文章是为了指导我们完成CentOS 8 Linux发行版上的Apache ActiveMQ安装。该步骤很容易遵循,并且不需要良好的Linux背景。
安装Java
首先在CentOS 8上安装Java:
在CentOS 8上安装Java 11
在CentOS 8上安装Java 8
在CentOS 8上下载Apache ActiveMQ
访问Apache ActiveMQ下载页面以获取最新的Apache ActiveMQ。
wget https://www.apache.org/dist/activemq/5.15.11/apache-activemq-5.15.11-bin.tar.gz
解压缩下载的文件。
tar xvf apache-activemq-5.15.11-bin.tar.gz
移动目录创建的/opt路径。
sudo mv apache-activemq-*//opt/apache-activemq
这是目录中文件的列表。
$ls -lh /opt/apache-activemq/ total 18M -rwxr-xr-x. 1 cloud-user cloud-user 18M Nov 20 19:59 activemq-all-5.15.11.jar drwxrwxr-x. 5 cloud-user cloud-user 147 Mar 6 21:14 bin drwxr-xr-x. 2 cloud-user cloud-user 4.0K Mar 6 21:14 conf drwxr-xr-x. 2 cloud-user cloud-user 26 Mar 6 21:14 data drwxr-xr-x. 2 cloud-user cloud-user 76 Mar 6 21:14 docs drwxr-xr-x. 7 cloud-user cloud-user 71 Nov 20 20:25 examples drwxr-xr-x. 6 cloud-user cloud-user 4.0K Mar 6 21:14 lib -rw-r--r--. 1 cloud-user cloud-user 40K Nov 20 20:25 LICENSE -rw-r--r--. 1 cloud-user cloud-user 3.3K Nov 20 20:25 NOTICE -rw-r--r--. 1 cloud-user cloud-user 2.6K Nov 20 20:25 README.txt drwxr-xr-x. 6 cloud-user cloud-user 95 Mar 6 21:14 webapps drwxrwxr-x. 3 cloud-user cloud-user 18 Mar 6 21:14 webapps-demo
在CentOS 8上创建Apache ActiveMQ系统单元
创建activemq用户以运行服务。
sudo useradd activemq
设置目录权限。
sudo chown -R activemq:activemq /opt/apache-activemq/
创建一个用于管理Apache ActiveMQ服务的Systemd单元文件。
$sudo vim /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服务单元文件列表。
sudo systemctl daemon-reload
将SELinux置于宽松模式。
sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
现在启动并启用该服务。
sudo systemctl enable apache-activemq.service sudo systemctl start apache-activemq.service
确认服务状态:
$systemctl status apache-activemq.service ● apache-activemq.service - Apache ActiveMQ Messaging Server Loaded: loaded (/etc/systemd/system/apache-activemq.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2017-03-06 22:06:09 EAT; 5s ago Process: 4306 ExecStop=/opt/apache-activemq/bin/activemq stop (code=exited, status=1/FAILURE) Process: 4680 ExecStart=/opt/apache-activemq/bin/activemq start (code=exited, status=0/SUCCESS) Main PID: 4732 (java) Tasks: 14 (limit: 11512) Memory: 91.9M CGroup: /system.slice/apache-activemq.service └─4732 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/apache-activem> Mar 06 22:06:09 cent8.novalocal systemd[1]: Starting Apache ActiveMQ Messaging Server... Mar 06 22:06:09 cent8.novalocal activemq[4680]: INFO: Loading '/opt/apache-activemq//bin/env' Mar 06 22:06:09 cent8.novalocal activemq[4680]: INFO: Using java '/usr/bin/java' Mar 06 22:06:09 cent8.novalocal activemq[4680]: INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details Mar 06 22:06:09 cent8.novalocal activemq[4680]: INFO: pidfile created : '/opt/apache-activemq//data/activemq.pid' (pid '4732') Mar 06 22:06:09 cent8.novalocal systemd[1]: Started Apache ActiveMQ Messaging Server.
更改管理员用户密码
将默认的管理员用户密码更改为唯一的密码。
$sudo vi /opt/apache-activemq/conf/jetty-realm.properties
该文件中的用户定义采用以下形式:
username: password [,rolename ...]
香港专业教育学院更新我的如下。
admin: MyAdminPassw0rd, admin user: MyUserPassw0rd, user
进行更改后,重新启动apache-activemq服务。
sudo systemctl restart apache-activemq
验证身份验证是否有效,将" password"替换为密码:
curl --head --user admin:MyAdminPassw0rd http://localhost:8161/admin/xml/topics.jsp
输出:
HTTP/1.1 200 OK Date: Fri, 06 Mar 2017 19:41:51 GMT X-FRAME-OPTIONS: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Set-Cookie: JSESSIONID=node0yqbxi60ra47n1fysq6zgx2lte0.node0; Path=/admin; HttpOnly Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Type: text/xml;charset=iso-8859-1 Content-Length: 187 Server: Jetty(9.4.22.v20191022)
应该显示200 OK消息。 401未经授权的消息表示用户名或者密码不正确。
访问Apache ActiveMQ Web控制台
Web控制台将在端口8161上运行。打开服务器IP地址/主机名以访问ActiveMQ Web控制台。
http://192.168.122.48:8161/admin/
使用创建的用户名和密码进行身份验证。
我们应该看到ActiveMQ Web界面。