0

当我以 root 身份运行 ActiveMQ 时,我可以访问管理面板。但是我需要以 apache 用户身份运行它,这样我的网络服务器才能将消息发送到我机器上的其他程序。当我以 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 并且一切正常。不知道为什么会这样。有任何想法吗?

4

3 回答 3

2

可能是许可。

视窗

Run as administrator

Linux

$] sudo bin/activemq start
于 2016-07-13T20:32:04.223 回答
1

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

于 2017-08-31T15:02:37.543 回答
-1

Well I managed to figure out the problem in case anyone who stumbles on this is curious.

I enabled selinux again and added ports 61616 (port for openwire connections), 61613 (port for stomp connections), and 8161 (port for admin console) to the allow list for http_port_t.

I used the command:

semanage port -a -t http_port_t -p tcp [port number]
于 2013-06-04T15:18:58.937 回答