访问管理面板时,ActiveMQ返回503

时间:2013-05-28 19:02:57

标签: linux centos activemq

当我以root身份运行ActiveMQ时,我可以访问管理面板。但是我需要以apache用户身份运行它,这样我的Web服务器就可以将消息发送到我机器上的其他程序。当我以apache用户身份运行并尝试访问管理面板时,它会响应503服务不可用。

有没有人知道修复此问题?感谢

编辑:从503

添加activemq.log输出
2013-05-28 13:47:51,823 | WARN  | Committed before 503 null | org.eclipse.jetty.server.Response | qtp1146944158-23
2013-05-28 13:47:51,824 | WARN  | /admin/ | org.eclipse.jetty.server.AbstractHttpConnection | qtp1146944158-23
java.lang.IllegalStateException: Committed
     at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1126)
     at org.eclipse.jetty.server.Response.sendError(Response.java:313)
     at org.eclipse.jetty.server.Response.sendError(Response.java:415)
     at org.eclipse.jetty.server.handler.ContextHandler.checkContext(ContextHandler.java:820)
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:916)
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
     at org.eclipse.jetty.server.Server.handle(Server.java:363)
     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
     at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)
     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982)
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
     at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
     at java.lang.Thread.run(Thread.java:722)

编辑:我正在针对服务器重新运行我的脚本,而ActiveMQ作为apache运行,服务器是root并且脚本挂起。它在创建默认会话时遇到困难。当我在GDB中单步执行时,它仍然有效......

编辑:我运行了setenforce 0,一切正常。不知道为什么会这样。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

可能是许可。

Run as administrator

Linux的

$] sudo bin/activemq start

答案 1 :(得分:1)

我有这个。事实证明,因为我之前以root身份运行它,所以我在activemq目录中拥有root拥有的文件。一旦我更改了所有权,我的非root用户就可以运行activemq,并且管理面板可用。

答案 2 :(得分:-1)

好吧,我设法找出问题,以防任何偶然发现此事的人都很好奇。

我再次启用了selinux并添加了端口61616(用于openwire连接的端口),61613(用于stomp连接的端口)和8161(用于管理控制台的端口)到http_port_t的允许列表。

我使用了命令:

semanage port -a -t http_port_t -p tcp [port number]