共计 3522 个字符,预计需要花费 9 分钟才能阅读完成。
生产环境下,ActiveMQ 的 必要配置。
配置 web 管理页面的安全认证
默认的 web 页面用户名密码 admin:admin, 非常不安全,
编辑 jetty-realm.properties 文件,(用户: 密码, 组)
admin: admin123, admin
user: user123, user
配置 web 管理页面的绑定 IP 和端口
编辑 jetty.xml, 查找 WebConsolePort
<bean id=”jettyPort” class=”org.apache.activemq.web.WebConsolePort” init-method=”start”>
<!– the default port number for the web console –>
<property name=”host” value=”192.168.0.31“/>
<property name=”port” value=”8161“/>
</bean>
配置 MQ 连接的安全认证
编辑 activemq.xml, 在 <broker> 下加
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username=”user” password=”user123″ groups=”users” />
</users>
</simpleAuthenticationPlugin>
</plugins>
禁用不使用的连接协议
编辑 activemq.xml, 在 <transportConnectors> 中注销或删除不使用的 <transportConnector>
<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&wireFormat.maxFrameSize=104857600″/>
<!–<transportConnector name=”amqp” uri=”amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600″/>
<transportConnector name=”stomp” uri=”stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600″/>
<transportConnector name=”mqtt” uri=”mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600″/>
<transportConnector name=”ws” uri=”ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600″/>–>
</transportConnectors>
上面我只保留了 61616 的openwire 协议端口
绑定协议连接端口到指定 IP
编辑 activemq.xml, 在<transportConnectors> 下找到指定协议的配置, 并修改 0.0.0.0 为要绑定的 ip
<transportConnector name=”openwire” uri=”tcp://192.168.0.10:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600″/>
使用 MySql 作为持久化保存
编辑 activemq.xml, 在 <beans> 下插入如下 bean 配置
<bean id=”mysql-ds” class=”org.apache.commons.dbcp2.BasicDataSource” destroy-method=”close”>
<property name=”driverClassName” value=”com.mysql.jdbc.Driver” />
<property name=”url” value=”jdbc:mysql://192.168.0.20/activemq?relaxAutoCommit=true” />
<property name=”username” value=”activemq” />
<property name=”password” value=”123456” />
<property name=”poolPreparedStatements” value=”true” />
</bean>
删除或注销掉<persistenceAdapter> 下的 <kahaD>, 添加<jdbcPersistenceAdapter>
<persistenceAdapter>
<!–<kahaDB directory=”${activemq.data}/kahadb”/>–>
<jdbcPersistenceAdapter dataDirectory=”activemq-data” dataSource=”#mysql-ds”/>
</persistenceAdapter>
配置基于 JDBC 的高可用环境
两个以上 activemq 使用一样的 db 配置,
failover:(tcp:
//broker1:61616,tcp://broker2:61616)
官方参考文档
修改内存
linux 下, 修改 bin/env 的ACTIVEMQ_OPTS_MEMORY 属性,Xms= 最小内存,Xmx= 最大内存
ACTIVEMQ_OPTS_MEMORY=”-Xms64M -Xmx1G”
window 下, 修改 activemq.bat, 在 if “%ACTIVEMQ_OPTS%” == ” 前设置
set ACTIVEMQ_OPTS=-Xms1G -Xmx1G
注册为 Service
linux(RedHat,CentOS)下(官方参考文档), 运行以下命令注册为 service, 并设置为开机自动启动
ln -snf bin/activemq /etc/init.d/activemq
chkconfig –add activemq
chkconfig activemq on
然后就可以使用如下 service 命令了
service activemq start|stop|status|restart
推荐阅读:
Spring+Log4j+ActiveMQ 实现远程记录日志——实战 + 分析 http://www.linuxidc.com/Linux/2015-12/126163.htm
Spring 下 ActiveMQ 实战 http://www.linuxidc.com/Linux/2015-11/124854.htm
Linux 系统下 ActiveMQ 安装 http://www.linuxidc.com/Linux/2012-03/55623.htm
Ubuntu 下的 ACTIVEMQ 服务器 http://www.linuxidc.com/Linux/2008-07/14587.htm
CentOS 6.5 启动 ActiveMQ 报错解决 http://www.linuxidc.com/Linux/2015-08/120898.htm
Spring+JMS+ActiveMQ+Tomcat 实现消息服务 http://www.linuxidc.com/Linux/2011-10/44632.htm
Linux 环境下面 ActiveMQ 端口号设置和 WEB 端口号设置 http://www.linuxidc.com/Linux/2012-01/51100.htm
ActiveMQ 的详细介绍:请点这里
ActiveMQ 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/128028.htm