日期:2014-05-16  浏览次数:20789 次

apache整合tomcat
对我来说这是一个非常艰难的历程,弄明白了其实非常简单,下面开始吧:

1.下载tomcat    http://tomcat.apache.org/

2.下载连接器JK, 在http://tomcat.apache.org/当前页面上有下载Tomcat Connectors的链接,点击后有浏览文档的链接Browse Archive

    由于JK2已经不维护,所以我们下载JK,网上有很多下载网站,但是我比较习惯官方的。

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/最终在这里选择适合你系统版本的。我的操作系统是win32的,最终我选择了

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.26-httpd-2.0.59.so

下载后修改文件名为mod_jk-1.2.26.so

3.下载JDK,这个就不用说了上sun公司网站吧。

 

安装过程就不用说了大家都明白,就说下怎么整合吧。

1.把mod_jk-1.2.26.so放到$apache_home/modules下

2.修改$APACHE_HOME\conf\httpd.conf文件

     找到<IfModule dir_module>标签

       <IfModule dir_module>

         DirectoryIndex index.html

       </IfModule>

       把DirectoryIndex index.htm 改为DirectoryIndex index.html index.htm index.jsp

3.  $APACHE_HOME\conf\httpd.conf文件中修改DocumentRoot变量值,这个要和tomcat下应用的目录一致

    我测试的目录为e:/tomcat/webapps/test

4. $APACHE_HOME\conf\httpd.conf文件中修改Directory

<Directory />

     Options FollowSymLinks

     Options Indexes MultiViews

     Order deny,allow

     Deny from all

     Satisfy all

</Directory>

解决http403无权限访问的问题,用这段替换,并增加上对应的路径。

<Directory e:/tomcat/webapps/test>

    #Options FollowSymLinks

     Options Indexes FollowSymLinks

     #Options Indexes MultiViews

     AllowOverride None

     Order deny,allow

     #Deny from all

     allow from all

     Satisfy all

</Directory>

5.在$APACHE_HOME\conf\httpd.conf文件最后添加爱如下内容(我设置JkMount /* ajp13,表示所有访问都由tomcat处理,主要原因是test动态生成html静态网页,有URI映射的考虑):

#####添加

LoadModule jk_module modules/mod_jk-1.2.26.so

JkWorkersFile conf/works.properties

JkLogFile logs/mod_jk.log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat "%w %V %T"

#JkMount /servlet/* ajp13

#JkMount /*.jsp ajp13 #代表把所有的jsp访问都由tomcat处理

#JkMount /*.do ajp13

#JkMount /*.html ajp13

JkMount /* ajp13

6.把一个文件名works.properties放置到$APACHE_HOME\conf下,内容为

workers.tomcat_home="e:/tomcat"

workers.java_home="D:/Program Files/Java/jdk1.6.0_03"

ps=\

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

7.把这几项的注释去掉

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

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

8.关于域名直接访问。以上所有的内容网上多的是,可是直接域名访问的找了n多网页,最后一句简单的问答我才明白了

Q: 如果我要通过域名直接访问网站,那么程序应该上传到哪个目录?

A: 应该上传到 /webapps/ROOT 中

从这次整合我体会到还有需要很多学习的地方,比如tomcat的文档结构,二级域名配置,负载均衡配置