如题,我按照官方文档和网上众多相关资料做过,都没有成功。
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”,要不就是一些语法错误。
有没有谁做过的,请大家多多帮忙,偶等着急用
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”,要不就是一些语法错误。
有没有谁做过的,请大家多多帮忙,偶等着急用
解决方案 »
- 创建了100个线程,怎样保证同时运行的只有10个线程?
- nio中为什么要将通道和缓冲区独立开来?
- 最少背包问题
- JAVA截取Byte数组中某段数据(数据包括数字、字母、汉字、符号)
- 质数问题
- JAVA中对象数组能不能使用监视器
- spring 工厂方法Bean 如何返回真正的对象
- Swing写的桌面程序如何根据程序的运行情况来设定进度条?
- GPL协议的软件能否用作商业用途,GPL和LGPL之间是什么关系?
- 如何使用maven把生成的jar包上传到中央仓库去呢
- DataOutputStream使用过程中发生java.io.EOFException,不知道为啥???
- 用panel里的paintComponent(Graphics g)的思考,不解
我没觉得有任何难度,即使从头重新配置一次,也不到半小时就可以搞定,
不过我没用官方的安装程序,
如果找不到mod_proxy_ajp.so,你可以到其它站点去下载别人编译好的。
默认没有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>
应改是:默认没有load ajp阿
明白了,试了,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\”这种东西怎么看得懂?最后当然是——给分,全给你了,
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
刚才漏了一段,被我放在记事本里了:
我的代码是配置的支持负载均衡集群,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不聊技术,有问题在论坛交流。