(1)编译并安装apache
./configure --prefix=/usr/local/apache-test --enable-maintainer-mode --with-mpm=worker --enable-so --enable-rewrite --enable-dav --enable-proxy=shared --enable-proxy-http=shared --enable-proxy-ajp=shared
make
make install
(2)添加module到httpd.conf配置文件中
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
(3)有两种方式,一种是用http协议,一种是用ajp协议;使用ajp协议从apache relay请求到tomcat比使用http本身relay更快,这是因为ajp协议是二进制协议,它只将解析后的请求发送到tomcat
# using mod_proxy_http
ProxyPass / http://tomcathost:8080/
ProxyPassReverse / http://tomcathost:8080/
ProxyVia On
或
# using mod_proxy_ajp
ProxyPass / ajp://tomcathost:8009/
ProxyPassReverse / ajp://tomcathost:8009/
ProxyVia On
注:
(0)--enable-so必须被静态编译进httpd
(1)添加so,可以在安装apache时,--enable-<module name>=shared (so方式),--enable-<module name> (静态方式)
(2)在编译完apache后,也可以用apxs来编译module
cd <apache_dir>/modules
<apache_install_dir>/bin/apxs -i -a -n foo -c mod_foo.c
-i 安装
-a 在httpd.conf添加LoadModules
-n 模块名称
-c 编译