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。

相关推荐
Moe4887 小时前
Spring AI Advisors:从链式增强到递归顾问
java·后端
敖正炀7 小时前
ReentrantReadWriteLock、ReentrantLock、synchronized 对比
java
cike_y7 小时前
Java反序列化漏洞-Shiro721流程分析
java·反序列化·shiro框架
大白菜和MySQL8 小时前
apache服务器部署简记
运维·服务器·apache
极创信息8 小时前
信创系统认证服务怎么做?从适配到验收全流程指南
java·大数据·运维·tomcat·健康医疗
格鸰爱童话8 小时前
向AI学习项目技能(六)
java·人工智能·spring boot·python·学习
白宇横流学长8 小时前
停车场管理系统的设计与实现
java
Flittly8 小时前
【SpringAIAlibaba新手村系列】(18)Agent 智能体与今日菜单应用
java·spring boot·agent
木井巳9 小时前
【递归算法】目标和
java·算法·leetcode·决策树·深度优先
亦暖筑序9 小时前
手写 Spring AI Agent:让大模型自主规划任务,ReAct 模式全流程拆解
java·人工智能·spring