IIS7整合Tomcat9服务器,并搭建ASP+PHP+JSP完整运行环境

news2024/10/5 21:17:28

本文以Windows Vista系统为例,详细讲解IIS7整合Tomcat服务器,同时支持ASP+PHP+JSP三种Web动态网页技术的方法。
Vista系统自带的IIS版本为7.0,能安装的IE浏览器的最高版本为IE9。IE9也是Vue2前端框架支持的最低浏览器版本。

【准备工作】
去微软官网下载VC14运行库:
Visual C++ Redistributable for Visual Studio 2015
https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
Windows 32位版本:vc_redist.x86.exe
Windows 64位版本:vc_redist.x64.exe

去PHP官网下载PHP7.1.33压缩包:
https://windows.php.net/downloads/releases/archives
Windows 32位版本:php-7.1.33-nts-Win32-VC14-x86.zip
Windows 64位版本:php-7.1.33-nts-Win32-VC14-x64.zip
nts(非线程安全)版本为IIS的专用版本,VC14表示这个版本需要VC14运行库才能运行。
Windows 95最高只能安装PHP4.2。
Windows 98、Windows ME和Windows 2000最高只能安装PHP5.2。
Windows XP和Windows Server 2003最高只能安装PHP5.4。
Windows Vista和Windows Server 2008最高只能安装PHP7.1。
Windows 7和Windows Server 2008 R2最高只能安装PHP8.2。

去Oracle官网下载JDK 8u202(Java最后的免费版本)的安装包。
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
Windows 32位版本:jdk-8u202-windows-i586.exe
Windows 64位版本:jdk-8u202-windows-x64.exe
Java 8u202是最后一个免费的版本,之后的版本都是收费的,都不能免费使用!

去Tomcat官网下载Tomcat 9.0.89的安装包。(Tomcat 10不支持免费的Java 8,所以选择安装Tomcat 9)
https://tomcat.apache.org/download-90.cgi
栏目:32-bit/64-bit Windows Service Installer
文件名:apache-tomcat-9.0.89.exe

去Tomcat官网下载tomcat-connectors连接器。
https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/binaries/windows/
32位版本:tomcat-connectors-1.2.49-windows-i386-iis.zip
64位版本:tomcat-connectors-1.2.49-windows-x86_64-iis.zip

【安装IIS并测试ASP】
在控制面板的程序与功能里面安装Internet 信息服务,注意要手动勾选应用程序开发功能里面的所有选项。

安装好之后IIS服务器会自动启动,可以直接用浏览器访问http://localhost/。

在C:\inetpub\wwwroot中创建test.asp文件,内容如下:
<%@ language="javascript" %>
<%
Response.Write("Hello World!");
%>
保存文件后,用IE浏览器访问http://localhost/test.asp,即可看到Hello World!输出。

【在IIS中配置PHP】
创建C:\Web文件夹,将php-7.1.33-nts-Win32-VC14-x86.zip解压到C:\Web\php-7.1.33-nts-Win32-VC14-x86文件夹中。

复制里面的php.ini-development文件,将复制的文件命名为php.ini。
打开php.ini,把; extension_dir = "ext"和;extension=php_mbstring.dll前面的分号去掉。

打开计算机管理里面的Internet信息服务,选择左边最上面的根节点(计算机名,如OCT1158-VISTA),再打开右边的“处理程序映射”,点击右边的“添加模块映射”。

请求路径填写*.php。
模块选择FastCgiModule。
可执行文件填写C:\Web\php-7.1.33-nts-Win32-VC14-x86\php-cgi.exe。
名称填写PHP7。
点击确定后再点击是。

在根节点处(OCT1158-VISTA)处重启IIS服务器。

在C:\inetpub\wwwroot中创建info.php文件,内容如下:
<?php
phpinfo();
?>
保存文件后,用IE浏览器访问http://localhost/info.php,即可看到PHP版本信息输出,并且还可以看到我们刚才在php.ini里面启用的mbstring扩展。

 

【安装JDK和Tomcat】
运行JDK的安装程序:jdk-8u202-windows-i586.exe
JDK以及附带的JRE的安装路径为C:\Program Files\Java。

运行Tomcat的安装程序:apache-tomcat-9.0.89.exe
Tomcat的安装路径为C:\Program Files\Apache Software Foundation\Tomcat 9.0。

安装好之后即可用IE浏览器访问http://localhost:8080。

【在IIS中配置JSP】
解压tomcat-connectors-1.2.49-windows-i386-iis.zip压缩包到C:\Web\tomcat-connectors-1.2.49-windows-i386-iis文件夹中。

在里面创建workers.properties文件,内容为
worker.list=worker1

worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.secret=helloworld

再创建一个uriworkermap.properties文件,内容为
/*.jsp=worker1

再创建一个.reg文件,内容如下:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"
"log_file"="C:/Web/tomcat-connectors-1.2.49-windows-i386-iis/isapi.log"
"log_level"="info"
"worker_file"="C:/Web/tomcat-connectors-1.2.49-windows-i386-iis/workers.properties"
"worker_mount_file"="C:/Web/tomcat-connectors-1.2.49-windows-i386-iis/uriworkermap.properties"
双击这个reg文件导入进注册表。

打开Internet信息服务,选择左边的根节点,再打开右边的“ISAPI和CGI限制”,点击右边的添加。
ISAPI或CGI路径为C:\Web\tomcat-connectors-1.2.49-windows-i386-iis\isapi_redirect.dll。
描述为isapi_redirect。
勾选“允许执行扩展路径”,然后点击确定。

返回主页面,打开“ISAPI筛选器”,点击右边的添加。
筛选器名称为jakarta。
可执行文件为C:\Web\tomcat-connectors-1.2.49-windows-i386-iis\isapi_redirect.dll。
点击确定。

在默认网站里面添加一个虚拟目录。
别名为jakarta。
物理路径为C:\Web\tomcat-connectors-1.2.49-windows-i386-iis。

添加后选中左边的虚拟目录,再打开右边的“处理程序映射”。

选中已禁用的“ISAPI-dll”,点击右边的“编辑功能权限”,勾选“执行”,点击确定。这样就把“ISAPI-dll”设置为了已启用。

编辑Tomcat的配置文件C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf\server.xml。(编辑前要给当前用户添加写权限,不然保存不了)

找到8009端口的Connector节点,取消注释,并把address改成127.0.0.1,添加secretRequired="true"和secret="helloworld",保存文件。

重启IIS和Tomcat服务器。
用IE浏览器访问http://localhost/index.jsp可以成功打开Tomcat页面,只是看不到图片。(因为uriworkermap.properties里面只映射了*.jsp,没有映射其他扩展名或目录)
并且C:\Web\tomcat-connectors-1.2.49-windows-i386-iis目录下自动生成了isapi.log日志文件。

在C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\ROOT下建立test.jsp文件,内容如下(注意以UTF-8编码方式保存):
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%!
String getURL(HttpServletRequest request) {
    String scheme = request.getScheme();
    int port = request.getServerPort();
    boolean hasPort = true;
    if (scheme.equals("http")) {
        if (port == 80) {
            hasPort = false;
        }
    } else if (scheme.equals("https")) {
        if (port == 443) {
            hasPort = false;
        }
    }
    String url = scheme + "://" + request.getServerName();
    if (hasPort) {
        url += ":" + port;
    }
    url += request.getRequestURI();
    String query = request.getQueryString();
    if (query != null) {
        url += "?" + query;
    }
    return url;
}
%>
<!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>IIS JSP测试页</title>
</head>

<body>
<b>Tomcat版本: </b><%= application.getServerInfo() %><br />
<b>Java版本: </b><%= System.getProperty("java.version") %>
<hr />
<b>URL1: </b><%= request.getRequestURL() %><br />
<b>URL2: </b><%= getURL(request) %><br />
<b>ContextPath: </b><%= request.getContextPath() %><br />
<b>ServletPath: </b><%= request.getServletPath() %><br />
<b>IP地址: </b><%= request.getRemoteAddr() %>
</body>
</html>

保存后,即可访问http://localhost/test.jsp。

访问一个不存在的jsp页面:

访问一个不存在的asp页面:

我们还可以把index.php添加到默认文档里面去。
index.jsp不需要添加,只要我们在uriworkermap.properties里面映射了整个目录,那么Tomcat会自动识别index.jsp。


如果关闭了Tomcat服务器,只打开IIS,或者Tomcat的server.xml里面没有打开8009端口,IIS访问jsp页面就会提示Service Temporarily Unavailable!。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1800996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PYQT + flask httpserver 服务器提供简单的MES服务

main.py import sys # 导入创建的文件模块 import test import dcservice from PyQt5.QtWidgets import QApplication, QMainWindowif __name__ __main__:app QApplication(sys.argv)MainWindow QMainWindow()ui test.Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.sho…

苹果 2023 年威胁研究的 8 个要点

苹果公司最近发布了其对 2023 年遇到的网络安全威胁的调查结果和观察。 该研究揭示了有趣的数据点&#xff0c;并展示了威胁形势是如何演变的。 1. 攻击者越来越多地瞄准消费者数据 仅 2023 年前八个月&#xff0c;就有超过 3.6 亿人成为企业数据泄露的受害者&#xff0c;这…

Qt下调用Snap7库与西门子PLC通信

文章目录 前言一、Snap7源码下载二、Snap7的dll常用函数功能介绍三、Snap7Lib.pri模块的封装四、下载链接总结 前言 本文主要讲述了在Qt下调用Snap7库与西门子PLC进行通信&#xff0c;在这里将Snap7的源码与动态库整合在一起封装了一个自己的Snap7Lib.pri子模块&#xff0c;方…

使用Gitblit软件开启git服务器

文章目录 使用Gitblit软件开启git服务器&#xff0c;供局域网其他电脑当做git仓库服务1. java依赖环境安装2. Mac系统操作2.1 下载Gitblit、配置参数2.2 启动服务2.3 终止服务&#xff1a;停止脚本即可 3. window系统操作3.1 下载Gitblit、配置参数3.2 启动服务3.3 终止服务&am…

科技云报道:走出“实验室”,GenAI迎来关键拐点

科技云报道原创。 对传统产业来说&#xff0c;GenAI是一场“哥白尼式的革命”&#xff0c;它改变了传统的业务模式&#xff0c;开启了人类与AI合作的新纪元。基于AI助手和大语言模型&#xff0c;企业能够实现智能运营的目标。 如果说&#xff0c;2022年是AI大模型元年&#x…

mysql工具----dbForgeStudio2020

dbForgeStudio2020&#xff0c;除了基本的操作外&#xff0c;还具有可调试mysql存储过程的功能&#xff0c;是一个不可夺得的mysql软件工具。 本文的软件将简单介绍软件的安装方式&#xff0c;仅供学习交流&#xff0c;不可做它用。 1.安装软件&#xff0c;安装后&#xff0c…

Chrome DevTools解密:成为前端调试大师的终极攻略

Chrome DevTools是一套内置于Google Chrome浏览器中的开发者工具&#xff0c;它允许开发者对网页进行调试、分析和优化。本文将全面介绍DevTools的功能、使用方法以及注意事项&#xff0c;帮助开发者更好地利用这些工具来提升开发效率和网页性能。 一、简介 1. DevTools是什么…

RabbitMQ-工作模式(Publish模式Routing模式)

文章目录 发布/订阅&#xff08;Publish/Subscribe&#xff09;交换机临时队列绑定总体代码示例 路由&#xff08;Routing&#xff09;绑定直连交换机多重绑定发送日志订阅总体代码示例 更多相关内容可查看 发布/订阅&#xff08;Publish/Subscribe&#xff09; 构建一个简单的…

Playwright框架入门

自从2023年底playwright框架火起来之后,很多小伙伴咨询我们这个框架,甚至问我们什么时候出这个课程. 这步这个课程在我们千呼万唤中出来了.具体的课程大纲和试听可以联系下方二维码获取. 今天给大家分享一下playwright的安装和一些常用API,为后续的学习做好准备工作. Playwrig…

批量重命名大解放!自定义取文本左侧长度,轻松实现文件名焕新之旅!

文件管理是我们日常工作和生活中不可或缺的一部分。然而&#xff0c;面对成千上万的文件&#xff0c;手动重命名无疑是一项繁琐且耗时的任务。今天&#xff0c;我们为您推荐一款高效便捷的批量文件重命名工具——文件批量改名高手&#xff0c;让您轻松实现取文本左的长度来进行…

【PythonCode】力扣Leetcode21~25题Python版

【PythonCode】力扣Leetcode21~25题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台&#xff0c;很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题&#xff0c;可以选择各种主流的编程语言&#xff0c;如C…

【会议征稿,IEEE出版】EEI 2024,6月28-30

第六届电子工程与信息学国际学术会议&#xff08;EEI 2024&#xff09;将于2024年6月28日至6月30日在中国重庆召开。EEI 2024将围绕“电子工程”、“信息学”与“计算机科学”等相关最新研究领域 &#xff0c;为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、…

海康威视综合安防管理平台 多处 FastJson反序列化RCE漏洞复现

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 由于…

javacv ffmpeg使用笔记 (补充中...)

javacv ffmpeg使用笔记 一、maven依赖二、示例代码1. 获取视频时长 三、小技巧 一、maven依赖 使用javacv ffmpeg并指定classifier之后&#xff0c;就不需要额外安装ffmpeg软件&#xff08;jar包中已经内置&#xff09;了。 全量依赖包&#xff08;不推荐&#xff09;安装包总大…

Docker 管理 | 代理配置、内网共享和 Harbor 部署

唠唠闲话 在现代软件开发和运维中&#xff0c;容器技术已经成为构建、部署和管理应用程序的标准工具。然而&#xff0c;在实际操作中&#xff0c;我们常常需要面对一些常见的挑战&#xff0c;如容器访问外部资源的代理配置、内网环境下的镜像共享以及企业级镜像管理。 本教程…

Transformer动画讲解:注意力计算Q、K、V

暑期实习基本结束了&#xff0c;校招即将开启。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。提前准备才是完全之策。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c…

自动化Reddit图片收集:Python爬虫技巧

引言 Reddit&#xff0c;作为一个全球性的社交平台&#xff0c;拥有海量的用户生成内容&#xff0c;其中包括大量的图片资源。对于数据科学家、市场研究人员或任何需要大量图片资源的人来说&#xff0c;自动化地从Reddit收集图片是一个极具价值的技能。本文将详细介绍如何使用…

GCB | 全球草地和森林土壤呼吸对降水量变化的不对称响应

全球变化导致地球水文循环的强化放大了降水的年际变化&#xff0c;这将显著影响陆地碳&#xff08;C&#xff09;循环。然而&#xff0c;在极端降水变化情况下&#xff0c;先前观测到的土壤呼吸&#xff08;Rs&#xff09;和降水之间的关系是否仍然适用&#xff0c;目前仍不清楚…

thinkphp6.0版本下子查询sql处理

目录 一&#xff1a;背景 二&#xff1a;查询实例 三&#xff1a;总结 一&#xff1a;背景 我们在实际业务的开发过程中&#xff0c;经常会碰到这样的场景&#xff0c;查询某些部门的客户信息&#xff0c;查询下过订单的客户信息。这里查询客户信息实际上就用到了子查询&…

PS的stable diffusion插件安装指南

PS的stable diffusion插件安装指南 1.首先要安装stable diffusion&#xff0c;具体安装方法&#xff0c;参考https://blog.csdn.net/sheji888/article/details/139196688 stable diffusion要求要启用API功能 2.安装ps2023以上版本&#xff0c;低于这个版本不能使用stable diff…