Apache + Tomcat 配置及URL转发

来源:岁月联盟 编辑:exp 时间:2012-03-08
Apache + Tomcat 配置及URL转发
一、准备相关软件
 
a)     Apache HTTP Server 2.2 (http://httpd.apache.org/download.cgi )
 
b)     Tomcat 6.0 (http://tomcat.apache.org/ )
 
c)      Apache Tomcat Connector  (http://tomcat.apache.org/connectors-doc/ ) mod_jk-1.2.31-httpd-2.2.3.so 对应Apache HTTP Server 2.2的版本
 
二、Apache配置
 
a)     配置Apache + Tomcat
 
i.       首先将下载的mod_jk-1.2.31-httpd-2.2.3.so复制到Apache HTTP Server安装目录下的modules文件夹下;在Apache HTTP Server的conf目录下新建mod_jk.conf,vhost.conf,workers.properties,uriworkermap.properties(这些配置文件也可以直接写在httpd.conf中,单独提出方便管理)
 
 
 
ii.      在httpd.conf最后添加两行
 
include conf/mod_jk.conf
 
include conf/vhost.conf
 
 
 
iii.     修改mod_jk.conf
 
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
 
JkWorkersFile conf/workers.properties
 
JkMountFile conf/uriworkermap.properties
 
JkLogFile logs/mod_jk.log
 
JkLogLevel error
 
iv.     修改vhost.conf
 
NameVirtualHost *:80
 
<VirtualHost *:80>
 
DocumentRoot "app目录" #指定项目位置最好带引号防止无法识别录路径,可以不要
 
ServerNamelocalhost #"localhost"将与tomcat中的"Host name"对应,可以配置域名
 
Jkmount /servlet/* s1 #所有匹配"/servlet/*"的请求都交给s1(tomcat)处,理,s1配置在workers.properties中
 
RewriteEngine On #开启URL转发
 
RewriteRule ^/(.+)$ /servlet/UrlRewriteServlet?name=$1 [PT]
 
</VirtualHost>
 
 
 
v.      修改workers.properties
 
worker.list=s1
 
worker.s1.port=8009 #对应Tomcat中的Connector port="8009"
 
worker.s1.host=localhost  #Tomcat所在服务器IP
 
worker.s1.type=ajp13  #类型
 
worker.s1.lbfactor=1 #权重,值越高,分得的请求越多
 
worker.list=s2
 
worker.s2.port=8009 #对应Tomcat中的Connector port="8009"
 
worker.s2.host=www.abc.com  #Tomcat所在服务器IP
 
worker.s2.type=ajp13  #类型
 
worker.s2.lbfactor=1 #权重,值越高,分得的请求越多
 
 
 
vi.     修改uriworkermap.properties
 
#所有请求都由s1这个server处理
 
/*=s1
 
#所有包含jkstatus请求的都由status这个server处理
 
/jkstatus=s1
 
#所有以.gif结尾的请求都不由s1这个server处理,以下几个都是一样的意思
 
!/*.gif=s1
 
!/*.jpg=s1
 
!/*.png=s1
 
!/*.css=s1
 
!/*.js=s1
 
!/*.htm=s1
 
!/*.html=s1
 
 
 
b)     配置Apache转发
 
i.       修改httpd.conf,去掉“#”
 
#LoadModule rewrite_module modules/mod_rewrite.so
 
ii.      修改vhost.conf文件,在VirtualHost节点下添加
 
RewriteEngine On #打开转发
 
RewriteRule ^/(.+)$ /servlet/UrlRewriteServlet?name=$1 [PT]
 
 
 
三、Tomcat配置
 
a)     配置Connector与workers.properties中的port对应
 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 
 
 
b)     配置Host name与vhost.conf的ServerName 对应
 
<Host name="localhost"  appBase="webapps"