我已经让它工作了几个月了,但是今天我的电源循环了,有些东西坏了。对不起,这有点详细和具体,但我迫切需要帮助。
我有apache-2.2和两个tomcat-6服务器(仅从两个单独的文件夹运行)。我没有任何http连接器,但是我有一个ajp连接器在每个服务器的端口8009和8010上运行。在启动时,两个tomcats都报告连接器正在运行,似乎没有任何问题:
INFO: JK: ajp13 listening on /0.0.0.0:8009
...
INFO: JK: ajp13 listening on /0.0.0.0:8010我相当确定我已经正确地设置了我的工作人员和apache配置。我可以在8009上连接到连接器,没有任何问题,但当我尝试8010时,apache会给我一个503。检查日志(mod_jk.log),它会说:
jk_open_socket::jk_connect.c (594): connect to 127.0.0.1:8010 failed (errno=13)
ajp_connect_to_endpoint::jk_ajp_common.c (922): Failed opening socket to (127.0.0.1:8010) (errno=13)
ajp_send_request::jk_ajp_common.c (1507): (eis) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=13)但我不能理解的是,如果我对该端口执行简单的telnet并发送GET:
# telnet 127.0.0.1 8010
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
GET
Connection closed by foreign host.它命中正确的tomcat (预计会出现错误):
Oct 25, 2011 6:17:10 PM org.apache.jk.common.MsgAjp processHeader
SEVERE: BAD packet signature 18245
Oct 25, 2011 6:17:10 PM org.apache.jk.common.ChannelSocket processConnection
SEVERE: Error, processing connection那么为什么apache不能到达它呢?无论我是不是超级用户,telnet都能正常工作。这是怎么回事呢?我完全被难住了。
我尝试过重启apache和tomcat,但没有任何变化。谢谢你看一看。
编辑-1:快速更新到此...我添加了一个http连接器,它工作得很好,但是ajp连接器仍然失败。
EDIT-2:这里是每个请求的配置详细信息...
workers.properties:
worker.list=service1,service2
worker.service1.type=ajp13
worker.service1.host=127.0.0.1
worker.service1.port=8009
worker.service2.type=ajp13
worker.service2.host=127.0.0.1
worker.service2.port=8010httpd.conf (我同时看到jkmount和JkMount ...大写有关系吗?):
JkMount /s1 service1
JkMount /s1/* service1
JkMount /s2 service2
JkMount /s2/* service2用于service1的server.xml:
<Connector port="8009" protocol="AJP/1.3" />用于service2的server.xml:
<Connector port="8010" protocol="AJP/1.3" />我想就是这样了。
发布于 2011-12-22 03:40:34
你的系统上有SELinux吗?你能不能试试:
setenforce 0它可能会阻止apache进程连接。此外,请检查您的防火墙规则...
发布于 2013-04-23 15:15:57
默认情况下,selinux会打开8009,您可以打开更多的端口来使用。
goalin@centos63日志$ sudo semanage端口-l |grep8009
http_port_t tcp 80、443、488、8008、8009、8443
goalin@centos63日志$ sudo semanage port -a -t http_port_t -p tcp 18009
goalin@centos63日志$ sudo semanage port -a -t http_port_t -p tcp 28009
goalin@centos63日志$ sudo semanage端口-l |grep8009
http_port_t tcp 28009、18009、80、443、488、8008、8009、8443
goalin@centos63日志$
https://stackoverflow.com/questions/7897795
复制相似问题