您的位置:首页 > 运维架构 > Tomcat

linux下 apache与tomcat整合实现伪静态

2011-05-04 16:33 399 查看
1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。

到Apache官方网站下载所需要的文件:

httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz

其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。

2、安装Apache。

# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so
# make
# make install
3、安装Tomcat。

# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat
4、编译生成mod_jk。

# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。

在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。

# vi mod_jk.conf

添加以下内容:

# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1
JkMount *.action Worker1
JkMount *.do Worker1
# vi workers.properties

添加以下内容:

# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

再配置httpd.conf,作以下修改:

将Listen 80 修改为 Listen 127.0.0.1:80

将ServerName 修改为 ServerName LocalHost:80

在DirectoryIndex中添加 index.jsp

我的网页放在/var/wwwroot下,所以要修改DocumentRoot

DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">
Order deny,allow
Deny from all
</Directory>

增加关于加载mod_jk的语句:

LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf

找到 LoadModule rewrite_module modules/mod_rewrite.so
若前面有“#”符号,就去掉“#”

配置规则:

    
<IfModule mod_rewrite.c>
RewriteEngine On

#RewriteBase /
# for example5: http://localhost/index.action?templatePageId=555&shopId=555¤cy=USD=>
http://loc alhost/index_555_555_USD.html
#导航链接1
RewriteRule ^/index_([0-9]+)_([0-9]+)_([A-Z]+)/.html /index.action?templatePageId=$1&
shopId=$2¤cy=$3 [PT]
#导航链接2
RewriteRule ^/index_([0-9]+)/.html /index.action?templatePageDO.templatePageId=$1 [PT]
#商品详细1
RewriteRule ^(.*)/displaydetail_([0-9]+)/.html $1/displaydetail.html?itemId=$2 [PT]
</IfModule>

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:

<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>

在/var/wwwroot下建立一个index.jsp:
2 + 2 = <%= 2 + 2 %>

启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: