如题,我按照官方文档和网上众多相关资料做过,都没有成功。
apache2.2带有proxy-ajp模块,但是在windows 2003 下安装却没有生成这个模块,我安装apache用的是bin安装版,在apache的bin目录下用"httpd -l"查看,没找到proxy-ajp。只好用mod_jk,但是总报错,说“cannot load path/to/mod_jk.so into server”,要不就是一些语法错误。
有没有谁做过的,请大家多多帮忙,偶等着急用

解决方案 »

  1.   


    我没觉得有任何难度,即使从头重新配置一次,也不到半小时就可以搞定,
    不过我没用官方的安装程序,
    如果找不到mod_proxy_ajp.so,你可以到其它站点去下载别人编译好的。
      

  2.   

    mod_jk version conflit, I guess.
      

  3.   

    3楼的pigo,你这样的回答让我怎么给分给你啊。虽然你可能不在乎分数,不过你既然来了,就拜托你写详细一点,不然对我没有任何帮助,我才一条裤衩啊
      

  4.   

    而且mod_proxy_ajp.so在modules中是存在的,只是不能用,用“httpd -l”查看也找不到
      

  5.   


    默认没有load jsp阿。在http.conf里加上下面的代码(具体根据需要改动一下就ok了):
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.soProxyPass /admin balancer://tomcatcluster/admin  lbmethod=byrequests stickysession=JSESSIONID  nofailover=Off timeout=5  maxattempts=3
    ProxyPassReverse /admin balancer://tomcatcluster/admin<Proxy balancer://tomcatcluster>
    BalancerMember ajp://localhost:8009 route=tomcat8080
    BalancerMember ajp://localhost:10009 smax=10 route=tomcat10080
    BalancerMember ajp://localhost:11009 route=tomcat11080
    BalancerMember ajp://localhost:12009 smax=10 route=tomcat12080
    </Proxy>
      

  6.   

    //默认没有load jsp阿打错了,
    应改是:默认没有load ajp阿
      

  7.   

    to pigo
    明白了,试了,ok了
    我没有完全按照你的做法,我的做法是:
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.soInclude conf/extra/httpd-vhosts.conf
    在conf/extra/httpd-vhosts.conf中编辑如下的代码
    <VirtualHost *:80>
        ServerAdmin [email protected]
        ProxyPass / ajp://localhost:8009/
        ProxyPassReverse / ajp://localhost:8009/
        ServerName localhost
        ……
    </VirtualHost>我得到的效果是 输入 localhost,显示tomcat欢迎界面,说明整合是成功的,如果stop Tomcat,提示Service Temporarily Unavailable,我原本认为是如果Tomcat停了,还会出现apache的界面,感觉这样会合理一些,是不是整合后,如果没有Tomcat,Apache就没用了?你给的代码是添加多个虚拟服务器吧,想多了解一点,能不能大概解释一下,虽然我可以去查,不过你也是举手之劳:)还想请教一下,为什么我不能load jk?jk的版本是jk1.2.15,就是 mod_jk-apache-2.0.55.so,官方文档说向后兼容,难道有假?还有出错基本都没写到 Error.log中(这个是默认的吧,安装后还要设置log的位置吗),我都是在windows日志中查看,有时给出错误信息,有时就是“\xd5\xd2\xb2\xbb\xb5\xbd\”这种东西怎么看得懂?最后当然是——给分,全给你了,
      

  8.   

    你把请求全部做了转发,apache就只是一个转发请求的效果了。
    tomcat挂了,那apache当然会返回错误信息。
    比如 access.log
    220.101.67.*** - - [06/Jun/2006:00:56:31 +0800] "SEARCH /\x90\xc9\xc9\x90" 414 352 "-" "-" //攻击代码太长,我删除了一部分
    220.101.67.*** - - [06/Jun/2006:00:56:28 +0800] "GET / HTTP/1.0" 200 449 "-" "-"
    220.101.67.*** - - [06/Jun/2006:00:56:58 +0800] "POST /_vti_bin/_vti_aut/fp30reg.dll HTTP/1.1" 404 1042 "-" "-"error.log
    [Thu Jul 13 17:32:20 2006] [notice] Child 3680: Starting thread to listen on port 80.
    [Thu Jul 13 17:43:34 2006] [error] (OS 10061)由于目标机器积极拒绝,无法连接。  : proxy: AJP: attempt to connect to 127.0.0.1:10009 (localhost) failed
    [Thu Jul 13 17:43:34 2006] [error] ap_proxy_connect_backend disabling worker for (localhost)
    [Thu Jul 13 17:43:34 2006] [error] proxy: AJP: failed to make connection to backend: localhost
      

  9.   

    apache不仅是转发,而是管理的性质,要怎么改才是正确的效果?老大,能不能告诉我你的msn或者QQ,
      

  10.   


    刚才漏了一段,被我放在记事本里了:
    我的代码是配置的支持负载均衡集群,1个apache整合n个tomcat。
    具体参数说明看apache的文档。apache 2.2版本有了大的改动,
    与apache 2.0 在架构上存在大量的差异,mod_jk需要重新专门编译才能够支持apache2.2 .
    如果你实在是那么爱mod_jk,那就去 
    http://apachelounge.dj02.net/?page=22
    下载mod_jk-1.2.15-w32.zip来用。我看了我的出错信息在error.log里。\xd5\xd这种现象我猜测 好像是apche没能够做正确的urlencoding转换。或者是有远程攻击在试探缓冲区溢出。具体原因我不知到。
    ps:默认的apache只是转发的功能,如果你想在出错之后处理,就需要对500 error进行处理,
    配置apache的error handler,不过我没配置过。msn没上,qq不聊技术,有问题在论坛交流。