我是这样配置的,我的猫端口是8888
我的apache服务器监听端口是9999
apache的 httpd.conf 部分配置如下
ServerRoot "D:/apache"
Listen 9999
#添加PHP解析模块 对所有以PHP结尾的文件使用PHP解析引擎解析
LoadModule   php5_module   "d:/php5/php5apache2_2.dll " 
AddType application/x-httpd-php .php # Using mod_jk.so to redirect dynamic calls to Tomcat
LoadModule jk_module modules\mod_jk.so
JkWorkersFile "conf\workers.properties"
JkLogFile "logs\mod_jk.log"
JkLogLevel debug
JkMount /*.jsp worker1
JkMount /jspapp/* worker1
workers.properties是这样配置的workers.tomcat_home=D:\Tomcat6  #让mod_jk模块知道Tomcat
workers.java_home=C:\Program Files\Java\jdk1.6.0_02  #让mod_jk模块知道j2sdk
ps=\  #指定文件路径分割符
worker.list=worker1 
worker.worker1.port=8888  #工作端口,若没占用则不用修改
worker.worker1.host=localhost  #Tomcat服务器的地址
worker.worker1.type=ajp13  #类型
worker.worker1.lbfactor=1  #负载平衡因数
这个启动都没问题,且能正确解析PHP页面,但是加载jsp页面的时候会出现502错误提示

Bad Gateway
The proxy server received an invalid response from an upstream server.

查找对应mod_jk.log里面的日志
有如下错误信息
[Tue Jul 01 11:14:47.593 2008] [2924:1888] [debug] jk_ajp_common.c (1395): (worker1) request body to send 0 - request body to resend 0
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [error] jk_ajp_common.c (1004): (worker1) can't receive the response message from tomcat, tomcat (127.0.0.1:8888) has forced a connection close for socket 1132
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [error] jk_ajp_common.c (1766): (worker1) Tomcat is down or refused connection. No response has been sent to the client (yet)
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [info] jk_ajp_common.c (2186): (worker1) sending request to tomcat failed (recoverable),  (attempt=2)
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [error] jk_ajp_common.c (2204): (worker1) Connecting to tomcat failed. Tomcat is probably not started or is listening on the wrong port
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [debug] jk_ajp_common.c (691): (worker1) resetting endpoint with sd = 4294967295 (socket shutdown)
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [debug] jk_ajp_common.c (2522): recycling connection pool slot=1 for worker worker1
[Tue Jul 01 11:14:49.828 2008] [2924:1060] [info] mod_jk.c (2364): Service error=0 for worker=worker1
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [error] jk_ajp_common.c (1004): (worker1) can't receive the response message from tomcat, tomcat (127.0.0.1:8888) has forced a connection close for socket 1088
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [error] jk_ajp_common.c (1766): (worker1) Tomcat is down or refused connection. No response has been sent to the client (yet)
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [info] jk_ajp_common.c (2186): (worker1) sending request to tomcat failed (recoverable),  (attempt=2)
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [error] jk_ajp_common.c (2204): (worker1) Connecting to tomcat failed. Tomcat is probably not started or is listening on the wrong port
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [debug] jk_ajp_common.c (691): (worker1) resetting endpoint with sd = 4294967295 (socket shutdown)
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [debug] jk_ajp_common.c (2522): recycling connection pool slot=0 for worker worker1
[Tue Jul 01 11:15:08.109 2008] [2924:1888] [info] mod_jk.c (2364): Service error=0 for worker=worker1
不知道这个问题怎么解决,是我的端口配错了吗?望有经验者帮个忙 谢谢各位!~

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【maodie007】截止到2008-07-01 11:25:02的历史汇总数据(不包括此帖):
    发帖数:64                 发帖分:1435               
    结贴数:63                 结贴分:1405               
    未结数:1                  未结分:30                 
    结贴率:98.44 %            结分率:97.91 %            
    值得尊敬
      

  2.   

    我遇到2种动态解析语言的时候 再装个tomcat 建议楼主最好是再装个tomcat 不冲突
      

  3.   

    现有的猫和再装个猫有什么分别吗? 应该是其他原因吧,apache服务器能正常启动,也能加载html php 页面 但是由当前猫代理加载jsp页面时就出现这问题了。
    我机器上只有一个猫哈 tomcat处理jsp  还有一个php5 他来处理php 他们都是独立的,应该他们之间没冲突吧
      

  4.   

    worker.worker1.port=8888  
    这行不对
    worker.worker1.port=8009  
      

  5.   

    如楼上所说
    出现404错误
    http://localhost:9999/jspapp/123.jsp
    123.jsp 是测试jsp
    这个怎么解释呢? 谢谢
      

  6.   

    httpd.conf的配置<IfModule mod_jk.c>
           JkWorkersFile     conf/workers.properties  
           JkLogFile         logs/mod_jk2.log          
           JkLogLevel        error
            #日志有四种级别,设为error即可
           JkMount /*/servlet/* ajp13 
            #对于处在servelet路径中的文件全部用tomcat响应    
           JkMount /*.jsp    ajp13    
           JkMount /*.do ajp13
            #响应以jsp和do为后缀的请求
           AddType application/x-jsp .jsp
    </IfModule>
    workers.properties的配置workers.tomcat_home=D:\Tomcat6  
    workers.java_home=D:\Java\jdk1.6.0_06 
    worker.list=ajp13 
    #这里和前面httpd.conf中设置的请求jsp响应处理一样  
    worker.ajp13.port=8009
    #注意,端口监听的是ajp协议的端口,tomcat默认设置的是8009,你要保证是这个
    worker.ajp13.host=localhost 
    worker.ajp13.type=ajp13 
    worker.ajp13.lbfactor=1 
    worker.ajp13.sticky_session=true
    worker.ajp13.sticky_session_force=true
    你这样再试一试,还有需要指出的是,对于JSP的请求,jsp文件路径是由tomcat的server.xml定义的
    比如,你的http.conf定义:
    DocumentRoot "D:/apache/htdocs"
    但是你的server.xml没有更改过.那么jsp文件在 "D:/tomcat/webapps"中才能访问到,而非在"D:/apache/htdocs"中