设为首页 收藏本站
查看: 994|回复: 0

[经验分享] CentOS5.3 编译 mod_jk 1.2.15 链接器 整合apache httpd 和 tomcat

[复制链接]

尚未签到

发表于 2017-1-13 09:25:12 | 显示全部楼层 |阅读模式
现在我们来做一个整合,也就是当访问 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。。。

[iyunv@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

[iyunv@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 去处理。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-327778-1-1.html 上篇帖子: 你经常不知觉间用的那些非常有用的apache commons类库的详解 下篇帖子: 对apache中并发控制参数prefork理解和调优
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表