上几次视频 我们安装了 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 了。谢谢大家观看。。。

转载于:https://blog.51cto.com/songlisha/1092844

CentOS5.3编译安装mod_jk_1.2.15_链接器_整合apache_httpd和tomcat相关推荐

  1. IAR编译环境之:ILINK链接器的.ICF文件编写

    1.首先说说什么是icf文件(即ILINK链接器的配置文件)的作用,其实在IAR5.x之前,IAR是采用的叫XLINK的链接器(它相应的配置文件为xcl文件),5.x之后才采用了新版ILINK链接器, ...

  2. tomcat ng mysql 集成_整合nginx,tomcat,mysql的安装与配置

    linux下Nginx+tomcat+mysql整合的安装与配置维护 安装Tomcat和JDK上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin ...

  3. centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录)[连载之电子商务系统架构]...

    centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录) 出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上Jimmy Li 作者:Ji ...

  4. 新安装和已安装nginx如何添加未编译安装模块/补丁

    新安装和已安装nginx如何添加未编译安装模块/补丁 --http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=10485& ...

  5. 源码编译mysql5.5_源码编译安装MySQL5.5

    前面的blog都有介绍mysql数据库存,不过那都是通用二进制的格式安装的,本文主要介绍在Centos6.5系统上源码编译安装MySQL数据库以及如何在Centos5系列版本的系统上如何编译安装cma ...

  6. ubuntu22.04编译安装gcc12.2

    ubuntu22.04编译安装gcc12.2 更新apt sudo apt-get update 安装wget sudo apt-get install wget zlib2 make 3. 下载相应 ...

  7. C编译器、链接器、加载器详解

    一.概述 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接.编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程.链接是把目标 ...

  8. C 编译器、链接器、加载器详解

    原文请见 C 编译器.链接器.加载器详解 0. 预编译 在编译 C++ 程序的预处理阶段,源程序中的所有常量表达式都需要首先计算并替换为对应的具体数值. C语言编译器在对源代码编译之前,还需要进一步的 ...

  9. 三、C++ 链接器 linker

    cilinking:从C++源码到可执行二进制的过程.compile文件之后进行链接,找到每个符号.函数的位置,并将其链接在一起 每个文件被编译成一个独立的.obj文件作为translation un ...

最新文章

  1. 4.1.6 文件的基本操作
  2. 架构学习优秀网站整理
  3. EasyRTMP CPU占用问题调优(一)
  4. qa/qc_专业QA如何实施可靠的CI / CD管道?
  5. vbs代码炫酷效果_Python|实现黑客帝国代码雨效果
  6. java进程调度怎么画图,[Java教程]进程调度的两种算法JAVA实现
  7. 2.6、ConfigurationClassPostProcessor 解析配置文件
  8. java实现自动定位,java swing 如何自动定位尾部
  9. HTML5和CSS3系列(四):常见样式、背景、Web字体、2D转换、过渡
  10. VelocityTracker 滑动速度跟踪器 简介
  11. 励志:滴滴打车App初期是怎么推广的?
  12. GHostNet网络最通俗易懂的解读【不接受反驳】
  13. stimulsoft mysql_Stimulsoft Server
  14. php将一维数组转换成二维数组
  15. Java8 对数组求和
  16. Windows10系统虚拟机的创建与系统安装
  17. 5.6月开始“薪资倒挂“严重
  18. Python爬虫是个啥?学了Python爬虫有什么用?
  19. 电脑搜不到wifi?新换的路由器
  20. 搭建 Github Pages 个人博客网站

热门文章

  1. 央视深入报道,国内主流芯片真实水平如何?
  2. 程序人生系列谈:《程序员》带给我的启发故事
  3. 漫画设计模式:什么是 “职责链模式” ?
  4. 中国开源正在走向成熟!
  5. Linux常用基本命令[cp]
  6. volatile关键字的作用、原理
  7. #define 用法
  8. PostgreSQL9.6+新增空闲事务自动查杀功能
  9. 明日微博软件的NABCD分析
  10. android monitor 汉化