概述
IIS全称为互联网信息服务,是由微软公司提供的基于运行MicrosoftWindows的互联网基本服务,今天我们主要来看下如何用win7系统自带的IIS服务来发布我们开发的一个简单的ASP.NET网站,来对我们自己开发的网站进行一个简单的测试。
步骤
1.开启IIS服务
2.将IIS注册到VS中
3.网站发布
1.开启IIS服务
a.控制面板——程序——程序和功能——打开或关闭Windows功能
b、打开IIS服务,按照下图进行设置,然后点击确定,到这里我们的IIS服务就开启成功了(等待时间可能会有点长)。
2.将IIS注册到VS中
- 开始——运行中输入cmd——进入命令字符界面首先输入cd C:\Windows\Microsoft.NET\Framework\v4.0.30319—然后输入aspnet_regiis.exe -i。
3.网站发布
a、添加网站
计算机右键——管理——服务和应用程序——Internet信息服务(IIS)管理器——网站右键——添加网站,在出现的提示框中输入网站名称,选择物理路径,选择IP地址即可。
b、修改IIS对应的.net的版本,默认的是2.0,我这里选择的4.0版本,这里选择的版本应该与上面注册的版本一致。
应用程序池——所添加的网站上双击——编辑应用程序池。
c、添加虚拟目录
网站上右击——添加虚拟目录——进行填写。
d、转换为应用程序
添加的虚拟目录上右击——转换为应用程序——选择文件——浏览,就可以打开我们所开发的网页了。
到此利用我们系统自带的IIS发布我们的ASP.NET网站就搞定了。但是如果有细心的读者在利用上述步骤IIS发布网站时,会发现只做了添加网站的a、b两步而不做c、d,也同样可以实现我们最后的结果,那样的话“添加虚拟目录”和“转换为应用程序”是不是就真的没有意义了呢,添加虚拟目录和转换为应用程序它们分别又有什么作用呢?
概要
应用程序、虚拟目录、应用程序池这三个概念。
应用程序
应用程序和软件的区别
应用程序是指为了完成某项或某几项特点任务而被开发运行于操作系统上的计算机程序。可能到这里有的人就认为那程序不就是软件了吗,其实程序和软件不是一个概念,程序只是我们软件的一部分,在这里我们为大家举个例子来让大家区别下程序和软件,一个游戏软件包括程序(比如windows平台的*.exe,macosx平台的*.app等)和其它图片(*.bmp等)、dll文件、音效(*.wav等)帮助文档等等附件,那么只有这个(*.exe或者*.app)程序称作“应用程序”,而它与其他文件(dll文件、图片、音效、帮助文档等)在一起合称“软件”,这样大家对应用程序和软件应该就可以分清楚了。
Web应用程序
下面呢回到我们今天的主题上来,在上篇文章中的我们利用iis发布的应用程序单指我们的Web应用程序,Web应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物,用户只需要有浏览器即可,不需要再安装其他软件。一个Web应用程序是由完成特定任务的各种Web组件(webcomponents)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。所有这些组件相互协调为用户提供一组完整的服务。
应用程序池:
说完应用程序,不能不提我们的应用程序池,它的定义是应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。
这样理解起来有点抽象,我为大家举个例子来方便大家的理解,我们将Web应用程序具体实例化为一个动态网站。应用程序池就是可以看成装载计算机分配给动态网站的内存的容器。如果内存是水,那么应用程序池就是鱼缸,动态网站就是鱼缸中的金鱼。多个动态网站可以存在于同一个应用程序池里,即鱼缸中可以放多条金鱼。当然,如果金鱼多了,鱼缸中的空间有限,金鱼之间就会争抢空间,不是很坚固的鱼缸可能就会破裂,所有金鱼都会受到影响。即是动态网站多了,内存不足,可能会造成内存级别的溢出漏洞,影响所有在那个应用程序池上的动态网站。所以说应用程序池就是一个容器,它内部装的是动态网站的内存。
虚拟目录
虚拟目录理解起来较为容易,虚拟目录顾名思义就是虚拟的不存在的,虚拟目录只不过是对网站的物理路径目录的一个映射而已。使用虚拟目录的重要意义是,网络管理员可以把Web站点的负载分布到多台服务器上,这样使每台服务器都能保持较高的处理速度,即提高了网站的速度也增加了网站真实服务器的安全性。我们平常用的较多的像百度、谷歌、淘宝、京东,它们几乎都采用虚拟目录这种方式,来将站点的负载分布到不同区域很多台服务器上,这样便可以很好的保证大量用户登录时网站提供优质的处理速度。
在这里还有一点要说的就是,虚拟目录可以用来被访问,但是如果虚拟目录不转为应用程序时,虚拟目录里面的一些动态脚本不能执行,包括ASPX、ASP等等。转换成应用程序后,虚拟目录中的动态脚本便可以执行了。
这样我们上一篇文章中的问题这里面就找到答案了,添加完网站后,没有添加虚拟目录自然可访问我们开发的网站,因为这时我们访问的是网站的物理路径,自然可以访问了。而没有将其转为应用程序也不影响访问,是因为我们的开发的网站比较简单,没有用到很多的动态脚本和ASPX、ASP等等,所以才不会影响我们对开发网站的访问。所以在这里我们还是建议大家发布网站添加虚拟目录并转为应用程序,这样才会万无一失。
总结
学习并不是一件孤立的事情,我们应将我们的学习与我们的生活有机结合起来,从我们生活中找到鲜活的例子来再现我们所学习到的抽象知识,从生活的角度学习,我们的学习会越来越轻松的。