windows sever 2008 服务器安装完毕之后,默认是不安装iis的,也就是没有Internet信息服务信息管理器的,需要自己在手动安装。安装方法就是:在开始》主机管理》服务器管理》功能》选择添加iis即可,这里不赘述。要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模块给装上的,默认是不安装的。
IIS7安装完成之后可以在开始菜单的所有程序中看到“管理工具”,其中有一个“Internet信息服务管理器”,如果没有可以按以下步骤添加:开始》右击属性》“开始”菜单选项卡》自定义》把“系统管理工具”设置为“在所有程序菜单显示”或者“在所有程序菜单和开始菜单上显示”。
也可以通过在开始运行里输入命令来进入这个:Internet信息服务管理器,命令是:开始 – 运行 – 输入“Inetmgr”打开。
下面是支持asp+acess设置的具体方法
①设置应用程序池(ApplicationPool)为Classic.NETAppPool,而不是默认的DefaultAppPool,操作方法:进入Internet信息服务信息管理器,进入网站主页,点击右侧的基本设置,将应用程序池改成Classic .NET AppPool,然后确定。
提示:可以在网站目录里对每个站点设置,也可以在站点进行单独设置。选择好要设置的站点之后,点右边的“基本设置”即可调出应用程序池设置对话框。
②系统盘C:WindowsServiceProfilesNetworkServiceAppDataLocalTemp 下的网站权限属性设置成对于该网站的的用户。
方法:
设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp的权限”对话框,单击“添加”,在下面的“输入对象名称来选择”中输入ceshi,确定》
返回到“Temp的权限”,将ceshi的权限中的完全控制给勾上,确定》确定。 这里的测试ceshi账户是原先针对该网站已经设置好的账户,这里直接使用。如果没有需要自己建立账户。建立账户的方法,以后另作讲解。
③在站点主页上选择“ASP”,然后在“行为”组中将“启用父路径”设置为True即可。方法是:单机行为组中的asp,然后单机右侧的打开功能,将里面的启用父路径”设置为True,确定。
相关知识点:
什么是MSJet引擎?百度说明:http://baike.baidu.com/view/1169484.htm
引擎(engine)能够决定程序管理和数据操作的程序或程序段。数据库引擎就是操作数据库的一段程序或程序段。
Microsoft Jet是Microsoft Access和Visual Basic使用的一种数据库引擎。在DAO3.1版本以前,数据访问对象DAO(data access object)被定义为“Microsoft Jet引擎的编程接口”,也就是说,DAO和Jet在历史上几乎是同义词。DAO访问数据库都要通过Microsoft Jet数据库引擎来完成。当然,这两个概念在内涵上是不一样的,Jet不能被直接使用,只有通过DAO或Access才能直接使用Jet.
但是,DAO3.1之后增加了一项重要的功能,这就是ODBCDirect访问。ODBCDirect使得DAO可以跳过Jet引擎,直接访问ODBC数据源。正是由于有了这项功能,DAO不再绑定在Jet上了,DAO与Jet仍有千丝万缕的联系。一般来说,如果应用程序使用的是本地数据库,那么DAO一般都通过Jet来访问数据库,反之,如果使用的是远程数据库,那么DAO通过ODBCDirect来访问数据库。
Jet是通过SQL来驱动的,但是这种SQL可能和通常的实现不太一样。这种情况下可能会带来好处,也有可能会带来坏处。当使用DAO访问数据库时就必须考虑这种差别。因为Jet的SQL的运行和一些标准的SQL运行性能差异很大。、
什么是应用程序池?
这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。
Windows 2003同时支持两种工作模式,默认为IIS 6.0工作进程隔离模式。工作进程隔离模式防止一个应用程序或站点停止了而影响另一个应用程序或站点,大大增强了IIS的可靠性。那么如何设置两种工作模式呢?
启动IIS管理器,右击网站,选择“属性”,打开属性对话框
在IIS 6.0工作进程隔离模式下,所有的应用程序代码都在隔离环境中运行,它们是如何进行隔离的呢?Windows 2003新增了应用程序池,工作进程隔离模式允许客户创建多个应用程序池,每个应用程序池都可以有不同的配置。因为这些应用程序池直接从内核(而非WWW服务)接收它们的请求,所以性能和可靠性得到了增强。要隔离运行在同一台计算机上但属于不同网站的Web应用程序,需要为每个网站创建单独的应用程序池。
创建应用程序池
在IIS管理器中,打开本地计算机,右键单击“应用程序池”,选择新建“应用程序池” (必须在工作进程隔离模式下才能建立应用程序池) 。“应用程序池名称”框中,输入新的应用程序池名称。如果在“应用程序池 ID”框中出现的 ID (如:AppPool #1)不是您想要的,可进行重命名。如果您单击了“将现有应用程序池作为模板”,请在“应用程序池名称”框中右键单击想要用来作为模板的应用程序池。最后单击[确定]。
指派应用程序池 在 IIS 管理器中,右键单击您要为其指派应用程序池的应用程序,然后单击“属性”。 单击“主目录”选项卡,确认您正在指派的目录或虚拟目录的“应用程序名”是否已被填写。如果“应用程序名”框尚未被填写,请单击“创建”,然后输入名称。
在“应用程序池”列表框中,选择您想要为其指派的应用程序池的名称。最后单击[确定]。
百度说明:http://baike.baidu.com/view/470212.htm
管理应用程序池:微软官方说明档http://technet.microsoft.com/zh-cn/library/cc753449%28WS.10%29.aspx
IIS应用程序池假死问题解决办法 原文http://blog.sina.com.cn/s/blog_5a0a16d30100co6c.html
iis问题,应用程序池!
为应用程序池 'AppPool #1' 提供服务的进程关闭时间超过了限制。进程 ID 是 '3000'。
出现上面情况后,该应用程序池对应的网站就访问的非常慢,几乎是打不开。
这种现象是不是iis假死?
重启下该站点,问题可以得到解决。
可能是应用程序池设置问题,不知道具体应该怎么设置!
请高手指点。
程序代码解决办法:
1 设置进程池回收时间.在进程池属性里.
2 如果你的程序是使用 asp + acc 数据库.且acc数据库大于30m.建议更换sql数据库. acc数据库大于这个值.2003系统下会造成iis6的频繁假死.2000下会造成dllhost.exe占用大量cpu及内存资源.都会严重影响web访问速度.
3 asp程序存在死循环.
4 可使用 microsoft office 压缩修复acc数据库,须先备份.
引用内容2003应用程序池假死常见问题及解决方法
经常见到大家谈起,2003应用程序池自动死了,不能恢复了,一直出现 Service Unavailable 常见方法如下。
1:以前没有SP1打补丁的时候会出现这个IIS6。0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。(所以现在的IIS假死与这个关系不是很大)
2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS。5。所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。你鼠标右键启动网站又会自动恢复。这个原因:大概是以下几个因数造成的。
(1):你限制了应用池的资源限制,限制得太小比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不操作。
出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法操作服务器。)2:在超过资源那里选择关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不操作就是不恢复,这个是很多人的误区。上次我写过相关的这个讲解了。
(2):内存限制在IIS6。0应用池上面有虚拟内存和最大内存限制,如果你设置了这个。那么网站访问量大了也会出现假死,所以不建议设置这里。默认就可。
3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。那么只有等内存全部释放出来才能恢复应用池了。出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。比如MSSQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法操作了,也无法自动恢复。
4:就是ACCESS数据库太大或查询太多,这个也会出现把IIS拉死,解决方法;修复ACCESS数据库,或尽量少用ACCESS数据库。
5:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面(1)讲到的,这样就不影响其他站点。中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。这样他们就算超资源了也不影响其他应用池的网站。
6:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。所以建议设置共1000就行了。其他独立池按照他网站流量而设置可以设置600 也行,共用的不建议设置太短。
7:网站后台过不了多久自动退出又要重新登陆:这个情况就是你设置回收时间太短了,按照 6点设置吧。不要设置什么20分、30分这样的,这样不好的。
8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”;
查看iis的应用程序池,状况提示为:未指定错误,同时应用程序池自动停止运行;
用事件查看器查看系统错误日志,发现如下提示:
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 NT AUTHORITYNETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。
解决方法,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:
点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项,
选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。
9:重启IIS中的特定应用程序池命令和自动重启的方法
在操作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池:
cscript.exe c:windowssystem32iisapp.vbs /a "DefaultAppPool"
其中/a 代表alternatively,"DefaultAppPool"代表应用程序池的实例名。如果要设置自动重启这个应用程序池,可以尝试放在批处理中,用计划任务调用此批处理即可。很多人觉得计划任务不安全,都要禁掉,事实上,计划任务的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入执行程序,计划任务执行,这和计划任务没有直接关系。当然,关掉,是会减少一些安全隐患,这是不错。
网友评论