Web服务器
- Web服务器是用来接受客户浏览器请求的,根据客户端浏览器请求决定如何显示网页内容。
- 当我们打开一个网页或者其它文件时,Web服务器会设置决定如何将该文件的内容交给客户端。
- 目前比较流行的Web服务器有IIS(Internet Information Server)和Apache。前者是微软开发的,具有微软一贯的使用简单的特点,它运行Windows操作系统上,而Apache是一个开源软件,有Windows和Linux等系统下版本。我们做asp.net开发主要是使用IIS。
- 注意在某些系统安装时,默认安装可能没有安装IIS,需要我们手动安装。具体步骤如下:打开控制面板,找到“添加/删除Windows组建”,点击打开界面,选中“Internet信息服务(IIS)”选项,放入系统安装盘,点“下一步”就可以安装了。
ASP.NET网站部署
在服务器上部署asp.net网站的时候,需要.net的运行环境.net framework, .net frameworkle类似于Java的JDK,包含有.net程序运行环境和命令行编译工具。如果服务器上没有安装.net framework,这就需要从微软网站下载,下载网址是:http://msdn2.microsoft.com/zh-cn/default.aspx。还需要注意的是如果先安装.net framework再安装IIS的话,需要运行一个命令向IIS注册.net framework,这个命令可以在系统分区去找,假如操作系统安装在C盘并且安装的.net framework的版本为2.0的话,那么这个文件的路径就是:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe,在“运行”窗口输入:“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –I”,如下图:
点击“确定”即可完成注册。
我们不妨再对服务器进行稍微深入一点的探索,我们运行IIS软件,会看到如下界面:
在“默认网站”节点上点击鼠标,在弹出的菜单中选择“属性”,会看到如下界面:
我们会看到共有8个选项卡,分别是“网站”、“ISAPI筛选器”、“主目录”、“文档”、“目录安全性”、“HTTP头”和“自定义错误”及“ASP.NET”选项卡。这里介绍几个常用来进行配置的选项卡。“网站”选项卡:网站选项卡是用来配置一些常规属性的,比如我们的网站使用的端口号、IP地址等信息的。默认Web服务器的端口号是80,不建议修改。
“主目录”选项卡:
在“主目录”选项卡我们可以设置网站或者虚拟目录的物理路径,还可以设置动态网页的执行引擎。点击“配置”选项卡,界面如下:
从上面的截图可以看到,当我们正确安装了IIS和.net framework之后,aspx页面就能被正确执行了。选中.aspx点击编辑,会弹出一个新界面,如下面:
可以看出.aspx页面都是交由aspnet_isapi.dll执行的。如果有自定的文件,需要交由服务器特殊处理,我们可以在这里配置。“文档”选项卡:
这个界面用于设置网站或者虚拟目录的起始页。所谓起始页,就是当我们打开一个网站或者虚拟目录的时候,如果没有特别指定访问哪个网页,Web会打开的一个页面。比如我们在浏览器地址栏里输入www.163.com,会打开网易的首页,其实我们并没有指定要访问哪个页面,服务器采用一种默认机制来打开某个特定页面。在上面的界面中,我们设置了多个页面作为起始页,IIS会按照从上到下的顺序检查我们的网站或者虚拟目录有没有相应的页面。如果找到了符合条件的网页,那么停止继续查找,把当前页面传送给客户端浏览器。
“ASP.NET”选项卡如果当前机器上安装了多个.net framework版本,需要设置每个网站或者虚拟目录的asp.net版本,这个需要与开发时所使用.net版本一致。Visual Studio2002开发的asp.net网站需要.net framework 1.0支持,Visual Studio2003开发的网站需要.net framework 1.1支持,Visual Studio2005开发的网站需要.net framework2.0支持。由于本人的机器上安装了.net framework 1.1和.net framework2.0,所以下拉框中有两个.net framework的版本供选择。如下图:
另外,还介绍一个特殊的文件夹。它位于系统分区下,如下图:
因为我的系统分区是C,并且IIS使用了.net framework2.0,所以这个文件夹是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files。这个文件夹是用来存放我们的asp.net网页生成的dll文件的。其实在我们第一次打开asp.net网页的时候,相应的网页会被编译成dll文件,然后JIT来运行这个dll文件。一旦这个文件再次发生变化,下次第一个请求这个网页时又会被编译成dll文件。并且为了防止文件名重名,生成的dll文件采用了随机命名。这也就是asp.net网页不同于asp或者php的地方:asp.net页面在第一次请求的时候会被编译成dll文件,由JIT编译执行,因而aspx页面第一次被打开的时候比较慢,而以后执行的时候就会比较快,因为以后执行的时候除非修改了代码否则就没有必要重新生.dll文件了;而asp和php网页每次运行的时候都会被解释执行,因而asp.net网站的运行速度要快。