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。

相关推荐
我会冲击波8 分钟前
告别手写注释!变量命名、注释IDEA插件更新了,AI帮你搞定一切代码注释
java·intellij idea
BUG创建者19 分钟前
openlayer根据不同的状态显示不同的图层颜色
android·java·javascript
羊锦磊40 分钟前
[java 常用类API] 新手小白的编程字典
java
都叫我大帅哥42 分钟前
TOGAF技术架构阶段全解析:从理论到Java实战,避坑指南附赠!
java
星辰大海的精灵1 小时前
深入解析 CopyOnWriteArrayList
java·后端·算法
都叫我大帅哥1 小时前
Java ScopedValue:线程安全的"数据气泡"指南
java
Code季风1 小时前
深入 Spring IoC 容器:六大关键应用场景助力项目开发
java·spring
这些不会的1 小时前
iphone手机使用charles代理,chls.pro/ssl 后回车 提示浏览器打不开该网页
java
带刺的坐椅1 小时前
Solon 集成 LiteFlow:轻量级工作流引擎的极简实践指南
java·solon·liteflow·rule
小七mod1 小时前
【Spring】Spring Boot启动过程源码解析
java·spring boot·spring·面试·ssm·源码