今天在公司的另外一台服务器上配置apache整合tomcat,由于apache是编译安装的,很多模块都没有打开,在整合的时候,报下面的错误。
下面我们来解决这个错误,解决方法如下:
1.先确认httpd.conf里有没有proxy的模块,如果没有那就要自己编译添加,进入apache源代码目录下modules目录中的proxy目录里:
cd /root/install/httpd-2.2.22/modules/proxy/
这是我的目录,你们根据自己放的源代码目录去整,进入到proxy目录里了执行下面两个命令:
/usr/local/apache/bin/apxs -c -i -a mod_proxy_ajp.c ajp*.c mod_proxy_balancer.c mod_proxy_connect.c mod_proxy.c mod_proxy_http.c proxy_util.c
/usr/local/apache/bin/apxs -c -i -a mod_proxy_connect.lo mod_proxy_balancer.lo mod_proxy_ajp.lo mod_proxy.lo proxy_util.lo
说明:
-c 执行编译操作
-i 安装操作,安装一个或多个动态共享对象到服务器的modules目录
-a 自动增加一个LoadModule行道httpd.conf文件,以激活此模块,若此行存在则启用之
-A 与-a类似,但是它增加的LoadModule行钱有井号前缀(#)
-e 需要执行编辑操作,可与-a和-A选项配合使用,与-i操作类似,修改httpd.conf文件,但并不安装此模块
2.然后重启apache
如果没有报错,那就说明上面的错误已经解决,如果还是继续报:
AH00526: Syntax error on line 574 of /usr/local/apache/conf/httpd.conf:
BalancerMember Can t find byrequests lb method
那你就要保证httpd.conf里有下面2个选项:
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
然后再重启下apache就可以了.
|