XP系统下用mod_jk 1.2.40整合apache2.2.16和tomcat 6.0.29,让apache可以同时访问php和jsp页面

首先我们要去tomcat的官网下载mod_jk.so模块。

总的文件夹网址:Index of /dist/tomcat/tomcat-connectors/jk/binaries/windows

适用于32位的apache2.2:https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.40-windows-i386-httpd-2.2.x.zip

适用于64位的apache2.4:https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip

适用于windows系统的apache服务器的mod_jk.so模块的下载地址_JSP吧_Purasbarhttps://zh.purasbar.com/post.php?t=29522笔者用的系统是32位的XP系统,apache版本是2.2,所以在文件夹里面下载tomcat-connectors-1.2.40-windows-i386-httpd-2.2.x.zip这个压缩包,里面就有mod_jk.so文件。

将mod_jk.so解压到apache的C:\Program Files\Apache Software Foundation\Apache2.2\modules文件夹下。

用网页设计软件(如Dreamweaver CS3)或文本编辑器在tomcat的C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT文件夹下建立一个test.jsp页面。

html 复制代码
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>系统时区列表</title>
</head>

<body>
<%
String[] list = TimeZone.getAvailableIDs();
Arrays.sort(list);
for (String name : list) {
	out.println(name + "<br>");
}
%>
</body>
</html>

页面放好后,可在tomcat中访问,apache目前还无法访问。

在C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf里面添加:

LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel debug

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

JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories

JkRequestLogFormat "%w %V %T"

JkMount /*.jsp worker1

创建C:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties文件,内容如下:

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=localhost

worker.worker1.type=ajp13

在C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml里面去掉8009端口Connector节点的注释:

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

重启apache和tomcat服务器,重启apache服务器后可在窗口下方看到多了一个mod_jk/1.2.40。

现在就可以通过apache直接访问jsp页面了,同时php页面也能正常访问。


要想访问文件夹时能自动识别index.jsp,往apache配置文件的DirectoryIndex里面添加index.jsp是无效的。DirectoryIndex应该只保留index.html和index.php。

DirectoryIndex: sets the file that Apache will serve if a directory

is requested.

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

假设:

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\haha里面有test.php页面。

C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\haha里面有index.jsp页面。

那应该再往apache的httpd.conf里面增加下面两条指令。

JkMount /haha worker1

JkMount /haha/ worker1

这样重启apache服务器后,访问/haha/就能识别/haha/index.jsp(但/haha/index.php就无法识别了),同时/haha/test.php也能正常访问。


现在http://localhost/test.jsp可以访问了,但https网址https://localhost/test.jsp还无法访问。

需要修改C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-ssl.conf配置文件,在<VirtualHost>里面也要加入JkMount /*.jsp worker1。

重启apache服务器后,https也能访问jsp页面了。

提示:只有Windows XP SP3及以上的IE6浏览器才支持sha256RSA签名的https证书。
要想让XP SP2的IE6浏览器和Win2000 SP4的IE5和IE6浏览器成功访问https,https证书必须用sha1RSA签名(如自签名的sha1RSA证书)。

Win2000 SP4系统最高只能装IE6浏览器的SP1版本,这个版本不支持sha256的https证书。

如果apache配置sha256的https证书,那么IE5和IE6都无法显示网页。

XP SP3系统里面的IE6是SP3版本,这个版本才支持sha256的https证书。Win2000是装不了IE6的SP3版本的,最高只能装IE6 SP1。

相关推荐
禁默7 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Cachel wood14 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Code哈哈笑16 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
gb421528719 分钟前
springboot中Jackson库和jsonpath库的区别和联系。
java·spring boot·后端
程序猿进阶20 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
zfoo-framework27 分钟前
【jenkins插件】
java
风_流沙33 分钟前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
乐之者v1 小时前
leetCode43.字符串相乘
java·数据结构·算法