apache http server and apache tomcat   Leave a comment

用ajp来整合的apache http server 和 tomcat的话,

Apache Web 服务器版本 1.3.x 2.0.x 2.2.x
mod_jk yes yes yes
mod_proxy no yes(需要重新编译2.2.x以外的代码) yes

对于apache http server 1.3.x and 2.0.x ,理想的本地代码是mod_jk, mod_proxy 是2.2.x版本的最佳匹配选择。

使用mod_proxy模块是整合apache http server and tomcat 6 的首选方式。
切记应当使用mod_proxy或mod_jk,但不要在同一服务器安装中同时使用它们。
1.查看加载和/或编译了哪写模块
httpd -D DUMP_MODULES

2. 要添加mod_proxy来支持用户的服务器,需要编辑httpd.conf并解开注释以下3行。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
重启服务器,再次使用 httpd -D DUMP_MODULES, 会看到加载的新模块。

为了告知mod_proxy转寄特定的URL请求给Tomcat服务器,需要添加以下代码块到httpd.conf文件中,应将这段代码放置在配置的主部分中,但也可以放置在apache http server虚拟主机定义中。

// 关闭了转寄的代理,除了将使用ProxyPass和ProxyPassReverse指令指定的特别映射外,这实际上关闭了转寄mode_proxy的能力。
ProxyRequests Off

//告知mod_proxy从原始的请求中传递请求的主机信息到AJP连接。这对于依赖于请求主机的应用程序非常使用。本指令不适用 apache web server 1.3.x 版。
ProxyPreserveHost On

//<Proxy *>指定了标准apache配置语法的访问规则,在这中情况下,所有输入的请求可以访问代理。在产品换九中,可以限制允许访问代理的主机组。
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

//制定了将要发送到examples/jsp的请求 用AJP协议转发到localhost:8009/examples/jsp
当然,必须设置了Tomcat服务器实例通过Tomcat AJP连接器监听此端口(8009)。
ProxyPass /examples/jsp ajp://192.168.0.18:8009/examples/jsp

//当配置ajp代理到tomcat时,ProxyPassReverse指令实际上是伴随的指令。
它指定了需要被适当的重写的反向的代理请求报头。这确保了任何从tomcat服务器转寄的请求都能被正确的处理。
proxyPassReverse /examples/jsp ajp://192.168.0.18:8009/examples/jsp

ProxyPass /web001 ajp://192.168.0.18:8009/web001
proxyPassReverse /web001 ajp://192.168.0.18:8009/web001
//指定uri访问权限的标准apache web 服务器部分,该部分确保了他们都可以访问
代理的URI /examples/jsp
<Location /web001>
   Order allow,deny
   Allow from all
</Location>

<Location /web001>
   Order allow,deny
   Allow from all
</Location>

web001为tomcat中的另一个application. 192.168.0.18为主机在网络中的地址。
确认正在使用apache 2.2.x和二进制的mod_proxy.so在modules目录下。
并确保在httpd.conf中以下代码添加到主配置部分。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

主机必须更改为tomcat worker服务器的IP地址:因此它是本地主机的IP地址。

在tomcat主机上,确保在默认的8009端口拥有ajp连接器,默认的server.xml已经包含。
<!– Define an AJP 1.3 Connector on port 8009 –>
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″/>

测试本社之前,先重启tomcat, 然后再重启apache http server, 确保对tomcat和apache的更改已经被处理。

测试本设置,在浏览器输入http://localhost/examples/jsp

Posted 2011年03月31日 by gw8310 in server

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: