您的位置:首页 > 运维架构 > Linux

linux上安装部署activemq

2016-07-12 15:44 411 查看
1,新建文件夹

mkdir activemq

2,下载activemq安装包,拷贝到/activemq目录下

apache-activemq-5.9.0-bin.tar.gz,下载地址http://activemq.apache.org/download.html

3,解压文件到运行目录/activemq

tar -xzvf /server/apache-activemq-5.9.0-bin.tar.gz

4,修改activemq运行文件的权限 

cd /activemq/apache-activemq-5.9.0/bin 

chmod 755 activemq 

5,运行的三种方式:

着三种方式都必须先找到activemq的bin目录

cd /activemq/apache-activemq-5.9.0/bin 

(1)普通启动 ./activemq start

(2)启动并指定日志文件 ./activemq start >/tmp/smlog 

(3)后台启动方式      nohup ./activemq start >/tmp/smlog 2>&1 & 

6,查看activemq进程是否存在

ps -ef | grep activemq 

7,关闭

如果开启方式是使用(1)或(2),则直接ctrl+c或者关闭对应的终端即可 

如果开启方式是(3),

先查找到activemq对应的进程: 

ps -ef | grep activemq 

然后把对应的进程杀掉,假设找到的进程编号为 25443

kill -9 25443

,

8,直接访问activemq的管理页面:
http://localhost:8161/admin/
初始登录用户名很密码均是admin

9,activemq 中文乱码问题

cd /apache-activemq-5.9.0/webapps/admin/WEB-INF/

在该文件夹下的web.xml中添加:

  <filter>  
<filter-name>characterEncodingFilter</filter-name>  
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
<init-param>  
<param-name>encoding</param-name>  
<param-value>UTF-8</param-value>  
</init-param>  
<init-param>  
<param-name>forceEncoding</param-name>  
<param-value>true</param-value>  
</init-param>  

  </filter>  
 

  <filter-mapping>  
<filter-name>characterEncodingFilter</filter-name>  
<url-pattern>/*</url-pattern>  

  </filter-mapping> 

注意我的项目都是UTF-8编码的。

另外:

经过以上操作,一般情况下,在浏览器地址栏可以http://localhost:8161/admin/进入activemq管理页面。

下面我说一下我遇到的问题:

我在VMware虚拟机上配置好一台CentOS(linux),给该机器设置好静态IP:192.168.2.179。现在CentOS的状态是,可以访问外网,我在本地也能ping通CentOS。

在CentOS的浏览器里也能够登录http://localhost:8161/admin/。

但是我在本地eclipse里,却不能够以tcp://192.168.2.179:61616向CentOS上的activemq发送队列,报一下错误:

javax.jms.JMSException: Could not connect to broker URL: tcp://192.168.2.179:61616. Reason: java.net.ConnectException: Connection timed out: connect
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:286)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)

另外说明一点,

我也修改了activemq/apache-activemq-5.9.0/conf/activemq.xml文件里的:

        <transportConnectors>

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

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

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

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

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

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

        </transportConnectors>



<broker xmlns="http://activemq.apache.org/schema/core" brokerName="192.168.2.179" dataDirectory="${activemq.data}">

这些。

这是我的一个遗留问题,在此先记下,还望高人指点。

另可参考:http://activemq.apache.org/getting-started.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: