Bootstrap

win10 IIS网站部署实录

win10 IIS网站部署实录


摘要

  • 启用IIS
  • 设置url默认文档
  • http500问题
  • asp错误信息调试
  • asp启用父路径
  • 64位系统下的Access数据库驱动问题

背景

  公司购买了一个网站模板,想要在IIS搭建并维护成公司自己的网站。

测试环境

  • 操作系统:64位win10专业版(创作者更新)
  • IIS10.0:操作系统自带
  • 网站后台:asp
  • 网站前台:html
  • 网站数据库:access
  • IE11浏览器

部署过程

一、启用IIS功能

1、打开windows功能:运行(win+R)->OptionalFeatures

2、完全安装IIS功能(为了避免可能出现的不必要的错误),勾选所有功能下的子项目(不勾子项目默认是最小安装)。如下图红框所示:
windows功能

3、安装完毕需要重启电脑。

4、重启完毕后在浏览器输入localhost后回车,若出现欢迎页面则说明IIS已经成功安装。
默认网站

二、添加网站

1、打开计算机管理控制台:(win+R)->compmgmt.msc;

2、如下图所示,依次点击服务和应用程序->IIS管事器->双击服务器名(计算机名)->右击网站->添加网站
添加网站

3、输入网站名称->选择物理路径->更改端口号(默认的80端口被IIS默认的网站占用了,如想用80,可将默认网站删除或停止)->确定。
添加网站2

4、浏览器输入localhost:8888,发现前台已经可以访问了。如下图:
前台首页

5、根据说明访问网站asp后台,在浏览器输入localhost:8888/adminback。结果如下图:
后台报错

6、图示的解决方案有两种:启用目录浏览或配置默认文档。启用目录浏览后效果如下图:
目录浏览

7、我们想要的显然并不是上面的页面目录,而是跳转到一个后台的登陆界面(经过分析是login.asp)。所以我们需要配置一下adminback这个目录的默认文档。设置后台默认文档:选中adminback->双击默认文档->添加->输入login.asp->确定。
如下图:
默认文档 添加默认文档

8、刷新页面后,报http500错误。如下图:
http500

三、解决asp后台报错问题

1、百度一下你就知道,可能引起http500错误的原因有很多种,我们需要进一步明确知道具体的错误原因:
去除【工具->Internet选项->高级->显示友好的HTTP错误信息】前的复选框,如下图所示:
更改http错误提示设置

2、刷新页面后,可以看到不再是http500错误了。如下图:
错误信息

3、此时可以看到,虽然不是http500错误了,但只是说发生了一个错误,asp并没有返回具体的错误信息。此时需要设置asp的调试属性,将错误发送到浏览器设置为true。选中网站,在功能视图中找到ASP并双击,找到调试信息中的“将错误发送到浏览器”设置为true,然后应用。如下图:
asp设置asp调试

4、再次刷新后台页面,终于可以看到具体的错误信息了。如下图:
不允许的父路径

5、分析原因是由于asp页面代码中使用了相对路径,而IIS安装完后默认的asp是不允许使用相对路径(即父路径)的。此时需要将asp行为属性中的启用父路径设置为true。如下图:
启用父路径

6、再次刷新页面,又出现了新的’800a0e7a’错误,如下图:
数据库连接错误

7、数据库连接错误,网上很容易就能找到具体的原因是由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,导致无法连接到Access数据库。解决办法是应用程序池“启用32位应用程序”设置为true即可。如下图:
启用32位应用程序

8、终于可以访问到网站后台,并且成功登陆了!
后台登陆 后台管理


总结

  • IIS完全安装比较省事(如果用了发现少功能,再安装,每次都要重启电脑)
  • 结合实际情况,设置默认文档,启用或禁用目录浏览
  • IE浏览器要取消显示友好的http错误消息,以便调试
  • asp网站需要启用父路径和将信息发送到IE浏览器
  • 64位操作系统,应用程序池需要设置启用32位应用程序,access数据库驱动程序才能正常运行
  • 虽然目前没有涉及,后期维护可能会涉及到网站权限问题。需要设置IUSR的权限。
;