Apache ActiveMQ是一个免费的开源消息代理和集成模式服务器。 它支持许多来自JAVA,C ++,C,Python,Perl,PHP等的跨语言客户端和协议。它提供了许多功能,如消息组,虚拟目的地,通配符和复合目的地等。它可以轻松集成到弹簧应用程序。
在本教程中,我们将在CentOS 7服务器上安装Apache ActiveMQ。
条件
- 最小CentOS 7服务器
- 根权限 本指南以root用户身份编写,如果以sudo用户身份登录,请运行
sudo -i
。
更新基本系统
在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。
yum -y update
更新系统后,继续安装JAVA。
安装JAVA
ActiveMQ支持OpenJDK和Oracle JAVA,在本教程中,我们将安装最新版本的Oracle Java到服务器。 运行以下命令下载RPM包。
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
如果没有安装wget
,可以运行yum -y install wget
来安装wget。 现在使用以下命令安装下载的RPM。
yum -y localinstall jdk-8u131-linux-x64.rpm
现在可以使用以下命令检查Java版本。
java -version
您将得到以下输出。
[root@liptan-pc ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
您还需要检查是否设置了JAVA_HOME
环境变量。 运行以下命令相同。
echo $JAVA_HOME
如果获得空或空白输出,则需要手动设置JAVA_HOME
变量。 使用您喜欢的编辑器编辑.bash_profile
文件。 在本教程中,我们将使用nano编辑器。 运行以下命令使用nano编辑.bash_profile
。
nano ~/.bash_profile
现在在文件的末尾添加以下行。
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
现在使用以下命令来源文件。
source ~/.bash_profile
现在可以再次运行echo $ JAVA_HOME
命令来检查环境变量是否设置。
[root@pc ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
安装ActiveMQ
ActiveMQ为预编译并可直接使用的Unix系统提供二进制文件。 唯一必需的依赖是将JAVA安装到系统中。 我们已经安装了JAVA,我们可以进一步下载ActiveMQ。
wget http://www-eu.apache.org/dist//activemq/5.15.0/apache-activemq-5.15.0-bin.tar.gz
如果你没有安装wget
,可以运行yum -y install wget
。 您可以随时在ActiveMQ下载页面上找到最新版本的链接。
使用以下命令提取存档。
tar -zxvf apache-activemq-*-bin.tar.gz -C /var
为了简单起见,通过运行来更改ActiveMQ目录的名称。
mv /var/apache-activemq-*/ /var/activemq/
ActiveMQ现在安装在您的系统上。
启动ActiveMQ
将当前目录更改为ActiveMQ安装目录。
cd /var/activemq
您可以通过运行以下命令立即启动ActiveMQ作为前台进程。
./bin/activemq console
要启动ActiveMQ作为后台进程,请运行:
./bin/activemq start
如果启动成功,您应该得到以下输出。
[root@pc activemq]# ./bin/activemq start INFO: Loading '/var/activemq//bin/env' INFO: Using java '/usr/java/jdk1.8.0_131//bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '27680')
要停止ActiveMQ,可以运行以下命令。
./bin/activemq stop
创建Systemd服务
虽然您可以使用上述命令轻松运行ActiveMQ,但建议您使用systemd服务来管理ActiveMQ进程。 使用Systemd服务将确保ActiveMQ将在启动时自动启动和失败。
使用您喜欢的文本编辑器创建一个systemd服务文件。 在本教程中,我们将使用nano
编辑器。 如果没有安装nano
,可以运行yum -y安装nano
。
nano /etc/systemd/system/activemq.service
现在使用以下内容填充该文件。
[Unit] Description=ActiveMQ service After=network.target [Service] Type=forking ExecStart=/var/activemq/bin/activemq start ExecStop=/var/activemq/bin/activemq stop User=root Group=root Restart=always RestartSec=9 StandardOutput=syslog StandardError=syslog SyslogIdentifier=activemq [Install] WantedBy=multi-user.target
现在您可以使用以下方式启动ActiveMQ:
systemctl start activemq
要配置ActiveMQ在启动时自动启动,请使用。
systemctl enable activemq
要检查ActiveMQ服务是否正确启动,可以运行以下命令来检查ActiveMQ服务的状态。
systemctl status activemq
您应该得到类似于以下所示的输出。
? activemq.service - ActiveMQ service Loaded: loaded (/etc/systemd/system/activemq.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2017-07-15 17:05:24 UTC; 6s ago Process: 28815 ExecStart=/var/activemq/bin/activemq start (code=exited, status=0/SUCCESS) Main PID: 28867 (java) CGroup: /system.slice/activemq.service ??28867 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth... Jul 15 17:05:24 centos systemd[1]: Starting ActiveMQ service... Jul 15 17:05:24 centos activemq[28815]: INFO: Loading '/var/activemq//bin/env' Jul 15 17:05:24 centos activemq[28815]: INFO: Using java '/usr/bin/java' Jul 15 17:05:24 centos activemq[28815]: INFO: Starting - inspect logfiles specified in logging.propertie...tails Jul 15 17:05:24 centos activemq[28815]: INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '28867') Jul 15 17:05:24 centos systemd[1]: Started ActiveMQ service.
使用管理Web面板
要访问ActiveMQ的管理面板,请启动ActiveMQ服务。 使用您最喜爱的Web浏览器,打开以下URL。
http://Your_Server_IP:8161/admin
如果您已安装防火墙
,则必须允许端口8161通过防火墙。 运行以下命令相同。
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload
Apache ActiveMQ的初始用户名和密码是admin和admin 。 登录后,您将看到以下界面。
您应该在登录后立即更改密码。
结论
您现在可以使用Apache ActiveMQ服务器来管理多个客户端和服务器之间的通信。 您可以通过访问ActiveMQ站点了解有关Apache ActiveMQ的更多信息。