上几次视频 我们安装了 jdk , tomcat , apache .....

 
现在我们来做一个整合,也就是当访问 apache 80 端口时候 遇到 jsp 文件也可以正常访问。
 
如果不整合, 你的apache 80 是不能运行jsp文件的, 只能使用8080端口,也就是tomcat 来访问。
 
如何整合呢 ? 要借助一个叫做 apache tomcat 的链接器。
 
下面是官方网站的下载地址,目前为止最新版是 1.2.15。。。
http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/
 
文章最后我会把这个工具提供下载,如果官方网站太慢的话。
 
首先下载 jakarta-tomcat-connectors-1.2.15-src.tar.gz 到服务器
 
 
解压
]# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
 
注意是进入: jk/native 这个目录
]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
 
请确认你的 apache 的 apxs 文件位置
  native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
 
编译生成mod_jk
  native]# make
 
拷贝编译完成生成的 mod_jk.so 文件, 这里也是要注意你的apache modules 目录位置
  native]# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/ 
 
 
===============================================
修改 apache 配置文件
 
# vi /etc/httpd.conf
 
在DirectoryIndex中添加 index.jsp
 
<IfModule dir_module>
    DirectoryIndex index.html index.jsp
</IfModule>
 
 
增加关于加载mod_jk的语句:
 
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/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 /*.do worker1
 
把一些注释去掉吧,只些一些起作用的语句上去。保存退出。
===================================================
 
在/usr/local/apache2/conf/ 下面 建立两个配置文件mod_jk.conf和workers.propertie
 
注意:
( 如果没有 conf 目录,可以建立,因为我安装时指定把 httpd.conf 放在 /etc 下的,就没有 conf 目录了 )
 
 
# 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 /*.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 
 
-------------------
我的tomcat 配置文件路径:
/usr/local/tomcat/conf/server.xml
 
最后编辑Tomcat的配置文件server.xml,在 <Host 段中加入:
 
<Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="true" crossContext="true"/> 
 
 
 
重新启动Apache和Tomcat。。。
 
[root@localhost bin]# ./shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.7.0
 
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.7.0
 
# /usr/local/apache2/bin/apachectl stop
 
# /usr/local/apache2/bin/apachectl start
 
刚才我在修改 httpd.conf 可能写入了一些多余信息 导致apache配置文件出错,我注释就可以了。
 
在 /usr/local/apache2/htdocs/ 下 删掉 index.html
 
建立一个index.jsp ,  
 
写入一些简单的内容:
 
<%
out.println( "Hello www.17rumen.com" );
%>
 
 
用浏览器访问服务器 http://192.168.138.128,看到正确的页面了。
 
说明 apache 遇到jsp页面 ,它可以提交给 tomcat 去处理。。。
 
这样就可以整合了 apache 和 tomcat 了。谢谢大家观看。。。