尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

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

IIS7整合Tomcat9服务器,并搭建ASP+PHP+JSP完整运行环境 本文以Windows Vista系统为例详细讲解IIS7整合Tomcat服务器同时支持ASPPHPJSP三种Web动态网页技术的方法。Vista系统自带的IIS版本为7.0能安装的IE浏览器的最高版本为IE9。IE9也是Vue2前端框架支持的最低浏览器版本。警告IIS7的pfx证书功能有严重bug请勿在Vista的IIS7中开启https并绑定市售pfx证书如果一定要用https协议请创建IIS自签名证书。Vista的IIS7添加了.pfx证书并绑定了网站的https 443端口后重启电脑系统是正常的。但是一旦用Windows Installer安装或卸载了软件比如卸载VMware Tools再重启电脑就无法正常开机了会有以下症状1.重命名或者删除文件或文件夹会卡死。但在任务管理器中强制结束explorer.exe后重新运行会看到文件或文件夹是重命名或删除成功了的。2.系统托盘上的有线网络图标一直显示一把红叉。右键菜单点击“诊断和修复”提示“网络诊断”无法运行因为“诊断策略服务”没有运行。3.Supermium浏览器无法使用打开后就会卡死。4.QQ无法用键盘输入密码用鼠标输入密码后登录会卡在登录界面上无法登录成功。虽然QQ无法使用但是微信扫码还是可以正常登录并收发消息。5.用户账户控制UAC无法正常工作凡是运行原本需要弹UAC确认窗口的命令都会直接无响应。因为打开IIS管理界面需要UAC确认所以没有办法进IIS管理界面。桌面“计算机”右键点“管理”就卡死了打不开。控制面板里面的很多东西也打不开比如“网络和共享中心”。解决办法重启电脑一直按F8选择进网络安全模式可以发现在网络安全模式下可以成功登录QQ并且系统托盘上的有线网络图标是正常的绿色地球。在桌面“计算机”右键菜单上点击“管理”“Internet 信息服务(IIS)管理器”在根节点的服务器证书上删除所有pfx证书然后重启电脑。所有的网站不用解除https端口绑定在安全模式下也解除不了绑定。重新正常模式开机后网站能正常启动只是浏览器无法访问https网站而已问题不大。IE浏览器访问https提示Internet Explorer 无法显示该页面。Firefox52.9ESR浏览器访问https提示安全连接失败。载入页面时与服务器的连接被重置。您尝试查看的页面无法显示因为已收到数据的可靠性无法证实。请联系此网站的管理员并告知此问题。Chrome49浏览器访问https提示无法访问此网站 连接已重置。ERR_CONNECTION_RESET这个时候只需要去IIS里面解除各网站的https端口绑定就行了。IIS自签名证书没有这个问题可以放心使用。创建自签名证书后绑定https再用Windows Installer安装或卸载软件不会影响重启开机。【准备工作】去微软官网下载VC14运行库Visual C Redistributable for Visual Studio 2015 Update 1https://www.microsoft.com/zh-cn/download/details.aspx?id49984Windows 32位版本vc_redist.x86.exeMicrosoft Visual C 2015 Redistributable (x86) - 14.0.23506Windows 64位版本vc_redist.x64.exeMicrosoft Visual C 2015 Redistributable (x64) - 14.0.23506注意必须是14.0.23506这个版本也就是带Update 1的版本。64位Vista SP2系统只需要安装x64版本不需要安装x86版本。不带Update 1的14.0.23026版本是不行的运行php.exe会报找不到api-ms-win-crt-runtime-l1-1-0.dll的错误。php.exe - 无法找到组件没有找到api-ms-win-crt-runtime-l1-1-0.dll因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。https://www.microsoft.com/zh-cn/download/details.aspx?id48145去PHP官网下载PHP7.1.33压缩包https://windows.php.net/downloads/releases/archivesWindows 32位版本php-7.1.33-nts-Win32-VC14-x86.zipWindows 64位版本php-7.1.33-nts-Win32-VC14-x64.zipnts非线程安全版本为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 8u202Java最后的免费版本的安装包。https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.htmlWindows 32位版本jdk-8u202-windows-i586.exeWindows 64位版本jdk-8u202-windows-x64.exeJava 8u202是最后一个免费的版本之后的版本都是收费的都不能免费使用去Tomcat官网下载Tomcat 9.0.89的安装包。Tomcat 10不支持免费的Java 8所以选择安装Tomcat 9https://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.zip64位版本tomcat-connectors-1.2.49-windows-x86_64-iis.zip【安装IIS并测试ASP】在控制面板的程序与功能里面安装Internet 信息服务注意要手动勾选应用程序开发功能里面的所有选项。安装好之后IIS服务器会自动启动可以直接用浏览器访问http://localhost/。在C:\inetpub\wwwroot中创建test.asp文件内容如下% languagejavascript %%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和;extensionphp_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文件内容如下?phpphpinfo();?保存文件后用IE浏览器访问http://localhost/info.php即可看到PHP版本信息输出并且还可以看到我们刚才在php.ini里面启用的mbstring扩展。【关于mysql数据库】64位mysql-5.5.62版本是支持64位Vista SP2系统的只不过要提前安装好64位vc2008运行库。如果不提前安装好运行库那么运行mysql.exe时会报错应用程序无法启动因为应用程序的并行配置不正确。有关详细信息请参阅应用程序事件日志。这会导致mysql安装的时候Start service失败报Cannot create Windows service for MySQL. Error: 0的错误。​经测试在5.5这个分支下不安装vc2008运行库最高能运行的mysql版本是5.5.54。下载地址https://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.54-winx64.msi​安装完成后可以成功进入mysql-5.5.54的命令行。下载并安装Microsoft Visual C 2008 Redistributable Package (64位)https://download.microsoft.com/download/9/7/7/977B481A-7BA6-4E30-AC40-ED51EB2028F2/vcredist_x64.exe安装完成后mysql-5.5.62就能正常安装和运行了。【关于postgresql数据库】Vista SP2系统或者Win7 SP1系统可以安装PostgreSQL 9.5.3版本。32位https://get.enterprisedb.com/postgresql/postgresql-9.5.3-1-windows.exe64位https://get.enterprisedb.com/postgresql/postgresql-9.5.3-1-windows-x64.exe【安装JDK和Tomcat】运行JDK的安装程序jdk-8u202-windows-i586.exeJDK以及附带的JRE的安装路径为C:\Program Files\Java。运行Tomcat的安装程序apache-tomcat-9.0.89.exeTomcat的安装路径为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.listworker1worker.worker1.port8009worker.worker1.hostlocalhostworker.worker1.typeajp13worker.worker1.secrethelloworld再创建一个uriworkermap.properties文件内容为/*.jspworker1再创建一个.reg文件内容如下Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]extension_uri/jakarta/isapi_redirect.dlllog_fileC:/Web/tomcat-connectors-1.2.49-windows-i386-iis/isapi.loglog_levelinfoworker_fileC:/Web/tomcat-connectors-1.2.49-windows-i386-iis/workers.propertiesworker_mount_fileC:/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添加secretRequiredtrue和secrethelloworld保存文件。重启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 languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-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.dtdhtmlheadmeta http-equivContent-Type contenttext/html; charsetUTF-8titleIIS JSP测试页/title/headbodybTomcat版本: /b% application.getServerInfo() %br /bJava版本: /b% System.getProperty(java.version) %hr /bURL1: /b% request.getRequestURL() %br /bURL2: /b% getURL(request) %br /bContextPath: /b% request.getContextPath() %br /bServletPath: /b% request.getServletPath() %br /bIP地址: /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!。【php7.1.33安装phpmyadmin3.3.10】下载地址https://files.phpmyadmin.net/phpMyAdmin/3.3.10/phpMyAdmin-3.3.10-all-languages.zip解压到C:\inetpub\wwwroot修改libraries/Error.class.php文件在顶部添加error_reporting(E_ALL ~E_NOTICE);修改export.php文件第560行break 2;改成break;复制config.sample.inc.php文件命名为config.inc.php修改第18行$cfg[blowfish_secret]的字符串随便写32个字符进去作为Cookie密钥。第36行mysql改成mysqli。取消注释第46-47行、行49-58行。也就是从$cfg[Servers][$i][controluser]到$cfg[Servers][$i][designer_coords]那几行。用IE浏览器访问https://localhost/phpMyAdmin-3.3.10-all-languages。在权限选项卡里面添加新用户用户名为pma密码随机生成全局权限勾选SELECT、INSERT、UPDATE和DELETE。把生成的密码填进config.inc.php的$cfg[Servers][$i][controlpass]里面去。在导入选项卡里面导入scripts/create_tables.sql。导入完成后退出登录然后重新再登录就完成了首页没有报错了。phpmyadmin3.3.10支持XP系统的IE6和IE8浏览器。如果想要在高版本的php如php8.4、php8.5上运行phpmyadmin3.3.10可以下载修改版phpmyadmin3.3.10代码https://github.com/zlk12142/phpMyAdmin-3.3.10-for-php8.4.git
返回列表