上几次视频 我们安装了 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

 

    DirectoryIndex index.html index.jsp

 

 

增加关于加载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,在

 

 

 

 

 

重新启动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 了。谢谢大家观看。。。