Linux安装和使用ActiveMQ

Linux安装和使用ActiveMQ

作者:俊仔

linux版本:CentOS7.5

ActiveMQ版本:5.15.6

运行环境:JDK8

  1. 官网下载ActiveMQ压缩包

http://activemq.apache.org/activemq-5156-release.html

  1. 传输到Linux服务器

用winSCP或Xftp

  1. 解压和使用

进入文件目录

cd /usr/local/

解压

tar -zxvf apache-activemq-5.15.6-bin.tar.gz

  1. 关闭防火墙和SElinux

以防万一,关闭防火墙:

systemctl stop firewalld

关闭SElinux:

setenforce 0

 

  1. 防火墙的设置

添加8161和61616端口号:

(--permanent永久生效,没有此参数重启后失效)

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

firewall-cmd --zone=public --add-port=61616/tcp --permanent

重新载入

firewall-cmd --reload

查看端口是否设置成功:

firewall-cmd --zone=public --list-ports

删除

firewall-cmd --zone= public --remove-port=8161/tcp –permanent

  1. 启动ActiveMQ

进入ActiveMQ解压目录的bin目录

cd apache-activemq-5.15.6/bin/

启动ActiveMQ并打印日志

./activemq start | cat ../../data/activemq.log

检查端口情况

netstat -lundp

 

  1. 浏览器访问

http://192.168.232.131:8161/admin/

(192.168.232.131,这里为我的服务器地址)

默认账号密码都是admin,这个用户名密码是在conf/users.properties中配置。出现下图表示启动成功,ActiveMQ默认启动端口8161

 

  1. 常用命令

    启动服务:./activemq start

    查看状态:./activemq status

    查看日志:./activemq console

停止服务:./activemq stop

  1. 加入到系统服务

把activemq复制到opt目录

cp5153apache-activemq-../opt/activemq

创建软链到/etc/init.d

ln-s /opt/activemq/bin/activemq /etc/init.d/activemq

修改activemq文件

vim /etc/init.d/activemq
 
## 修改BEGIN INIT INFO
 
### BEGIN INIT INFO
# Provides:          activemq
# Required-Start:    $remote_fs $network $syslog
# Required-Stop:     $remote_fs $network $syslog
# Default-Start:     3 5
# Default-Stop:      0 1 6
# Short-Description: Starts ActiveMQ
# Description:       Starts ActiveMQ Message Broker Server
# chkconfig: 2345 64 36  
# Short-Description:    ActiveMQ server
### END INIT INFO
 
## 最后一个#加入
export JAVA_HOME=/opt/java
 
ACTIVEMQ_HOME=/opt/activemq
 

加入到系统服务

cd /etc/init.d/
 
chkconfig --add activemq
 
##查看系统服务
chkconfig --list

启动/关闭activemq

startservice activemq
stopservice activemq

加入到开机启动项

chkconfigonactivemq

 

  1. 异常解决
  1. wrapper | <-- Wrapper Stopped

解决方案:

 

修改 conf->activemq.xml 配置文件中的

<transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> </transportConnectors>

 

改为

<transportConnectors>

           <!--

 DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

           <transportConnector

name="openwire" uri="tcp://127.0.0.1:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector

 name="amqp" uri="amqp://127.0.0.1:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector name="stomp" uri="stomp://127.0.0.1:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector

 name="mqtt" uri="mqtt://127.0.0.1:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector

 name="ws" uri="ws://127.0.0.1:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

       </transportConnectors>

 

将0.0.0.0改为127.0.0.1

 

 

  1. Unable to execute Java command

修改wrapper.conf文件

wrapper.java.command=java

改为(路径为你本机的JDK的java路径)

wrapper.java.command=C:/Program Files/Java/jdk1.8.0_131/bin/java.exe