转自 http://my.oschina.net/ruralhunter/blog/103827
一篇不错的文章,适合于原包部署,activem 5.9.0按此方法亦同步骤。
主要参考http://www.jmkg.co.uk/2010/08/31/installing-activemq-on-ubuntu/,略有补充
1. 下载安装包,建立activemq用户,安装
下载最新的activemq,写此文时为5.7。
2 | tar xvzf xxxx/apache-activemq-5.7.0. tar .gz |
3 | ln -s apache-activemq-5.7.0 activemq |
5 | chown -R activemq.activemq apache-activemq-5.7.0 |
6 | ln -sf /opt/activemq/bin/activemq /etc/init.d/ |
7 | update-rc.d activemq defaults |
2. 生成并编辑配置文件
1 | /etc/init.d/activemq setup /etc/default/activemq |
这里面主要有3项需要定制配置:
ACTIVEMQ_USER,运行activemq的用户,配置为刚才建立的activemq用户
ACTIVEMQ_DATA,activemq的data路径,存放真正的队列数据等,可以直接加在配置文件开头,目录权限需要为ACTIVEMQ_USER可写
JMX配置,这一项比较麻烦一点,主要是管理activemq的jmx连接配置,不配也能用,但是停activemq就只能是残酷的kill,好像不太安全,所以还是建议配置。可以按照以下内容:
1 | ACTIVEMQ_SUNJMX_START= "-Dcom.sun.management.jmxremote.port=11099 " |
2 | ACTIVEMQ_SUNJMX_START= "$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password" |
3 | ACTIVEMQ_SUNJMX_START= "$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access" |
4 | ACTIVEMQ_SUNJMX_START= "$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false" |
5 | ACTIVEMQ_SUNJMX_START= "$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote" |
上面几行配置里都有,只需要把注释去掉就行了。下面另有两行,需要把配置里的注释和未注释对调一下:
1 | ACTIVEMQ_SUNJMX_CONTROL= "--jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi --jmxuser admin --jmxpassword activemq" |
注意,我上面的配置里把jmxuser和jmxpassword改了,主要是改成了和安装包里的jmx默认用户名密码一致,安全起见,这里最好改成你自己定制的用户名密码,起码把密码改了。这个admin用户的权限在/opt/activemq/conf/jmx.access里,密码配置在/opt/activemq/conf/jmx.password里。这两个文件里的配置要和上面那行JMX URL里配置一致。另外还有重要的一点:
1 | chmod 600 /opt/activemq/conf/jmx.* |
如果权限不改成只有启动用户能读写的话,activemq直接起不来,而且没有任何地方报错。这样似乎差不多了,但还发现悲剧的一点,尽管上面的URL里配置的是127.0.0.1,activemq停止的时候却还是会去连`hostname`上的JMX,不知道为啥,报个错误类似如下:
1 | Connecting to pid: 8515 |
2 | INFO: failed to resolve jmxUrl for pid:8515, using default JMX url |
然后就去连接
`hostname`上的JMX
了,连不上就等30s然后暴力kill。所以一定要保证hostname是可以连接的,例如在/etc/hosts里配成127.0.0.1,不然activemq停止的时候发现JMX连接不上,还是一样kill。这样就大功告成了,可以启动和停止activemq了:
打开浏览器可以访问http://[your host]:8161/上的activemq管理界面。
3. LOG的配置
log的配置在/opt/activemq/conf/log4j.properties,自己看一下就知道了,这里就不详述了。